我正在准备一份不断返回虚假的声明。
$db = dblogin();
$stmt = $db->prepare("INSERT INTO `tor_request` `name`,`sdate`,`edate,`reason`,`comment` VALUES (?,?,?,?,?)");
echo var_export($stmt,true);
//$stmt->bind_param('siiss',$_POST['name'],$_POST['sdate'],$_POST['edate'],$_POST['reason'],$_POST['comment']);
//$result = $stmt->execute();
dblogin无处不在,并且经过了全面测试。我只是在这一个声明中找不到错误。它一遍又一遍地不断返回虚假。我已对bind_param
和$result
进行了评论,因为我无法完成准备工作。它不是Object
。有任何想法吗?被困在这一行的HOURS
答案 0 :(得分:2)
您没有将列包裹在括号内,而且您错过了edate
$db = dblogin();
$stmt = $db->prepare("INSERT INTO `tor_request` (`name`,`sdate`,`edate`,`reason`,`comment`) VALUES (?,?,?,?,?)");
echo var_export($stmt,true);
将error reporting添加到文件的顶部,这将有助于在生产测试期间。
error_reporting(E_ALL);
ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
报告相关链接时出错:
答案 1 :(得分:1)
"INSERT INTO `tor_request` (`name`,`sdate`,`edate`,`reason`,`comment`)
VALUES (?,?,?,?,?)"
PS:命名参数更容易阅读。你拥有的文字越多越好。
"INSERT INTO `tor_request` (`name`,`sdate`,`edate`,`reason`,`comment`)
VALUES (:name,:startDate,:endDate,:reason,:comment)"