一切都在数据验证和错误收集方面发挥作用等等,特别是在$ r正在执行的地方我遇到了问题。我总是得到回声错误。我之前使用过相同的代码,但由于某种原因无效。或许需要第二眼看它。
if (empty($errors)){
$q = "INSERT INTO testTable (test1, test2) VALUES ('Test', 'Test')";
$r = @mysqli_query($dbc, $q);
if($r){
echo 'Complete!';
}
else{
echo 'error';
}
mysqli_close($dbc);
include('footer.html');
exit();
我可以在MySQL中手动输入语句,它会将它添加到表中,所以我不认为它有语法错误,我在这一点上有点累。
答案 0 :(得分:2)
“我收到很多警告,说mysqli_xxx的参数1必须是mysqli。这是否意味着我的$ dbc变量无法正常工作?”
原因很可能是因为您的数据库连接方法可能基于mysql_connect()
或PDO来连接。
那些不同的MySQL API 不相互混合。
mysql_
+ mysqli_
或PDO = 无爱。 mysqli_
+ PDO,同样的事情。
请参阅这两本手册:
并且只使用“one”MySQL API,从头到尾,不是“混合”。
您还应该从代码中删除@
符号。这些是错误抑制器,在调试代码时无法帮助您。
所以MySQLi_
的连接看起来像这样:
$dbc = mysqli_connect("myhost","myuser","mypassw","mybd")
or die("Error " . mysqli_error($dbc));
与mysql_
不同:
$dbc = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$dbc) {
die('Could not connect: ' . mysql_error());
}