PHP简单的插入好奇怪,为啥SQL执行成功,程序错误?请大师给指点

syh661 2019-06-02 10:04:49
function insertStudent($student)
{
$id = $student->getId();
$name = $student->getName();
$gender = $student->getGender();
$age = $student->getAge();
$telephone = $student->getTelephone();

// 获得数据库连接
$conn = getConn();
// 定义SQL字符串

$sql = "INSERT INTO student(name,gender,telephone) VALUES ('$name','$gender','$telephone')";

echo $sql;
// 执行插入操作

$retval = $conn->query($sql);

return $retval;
}



$name = $_POST['namex'];
$gender=$name_one.$filetype;
$telephone=$_SESSION['username'];


$student = new Student();

$student->setId($id);
$student->setName($name);
$student->setGender($gender);
$student->setAge($age);
$student->setTelephone($telephone);

$retval = insertStudent($student);

if ($retval) {
echo "恭喜,记录插入成功!<br><br><br>";
} else {
echo "抱歉,记录插入失败!请返回重新上传.<br><br><br>";
}
/////////////////////////////////////////////////////////////////////
//以上是页面代码//
/////////////////////////////////////////////////////////////////////

输出的SQL
INSERT INTO student([name],[gender],[telephone]) VALUES ('ds','20190625045295.jpg','李丹丹')
输出的SQL在查询分析器是对的


数据库表结构
...全文
352 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Python小叮当 2020-06-19
  • 打赏
  • 举报
回复
这个sql语句里面的引号是有问题的似乎,单引号里面用字符串,如果变量用单引号抱起来,执行的时候可能解析不了这个变量,你可以dump一下试试看。建议使用双引号包括变量
咸菜. 2020-05-12
  • 打赏
  • 举报
回复
引用 4 楼 wood87654321 的回复:
是用的PDO么?在我印象中,插入好像是用exec而不是query
正解
诚实或谎言 2019-07-25
  • 打赏
  • 举报
回复
query跟execute不一样,q用来执行查询,e用来执行增删改
wood87654321 2019-06-06
  • 打赏
  • 举报
回复
是用的PDO么?在我印象中,插入好像是用exec而不是query
syh661 2019-06-04
  • 打赏
  • 举报
回复
$database)
YYYYolanda 2019-06-03
  • 打赏
  • 举报
回复
你的getConn()可能没加数据库名。
$conn = new mysqli($servername,$username,$password,$database);
syh661 2019-06-02
  • 打赏
  • 举报
回复
总是提示“”“抱歉,记录插入失败!请返回重新上传.”

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧