将用户输入的值插入表时出现PHP和MySQL错误

时间:2015-04-13 21:53:32

标签: php mysql

一切都在数据验证和错误收集方面发挥作用等等,特别是在$ 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中手动输入语句,它会将它添加到表中,所以我不认为它有语法错误,我在这一点上有点累。

1 个答案:

答案 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());
}