在执行mysqli_query时遇到问题

Gil*_*loD 16 php mysql mysqli

问题在于:我今天开始使用mysqli进行交换.没什么大不了的,只需改变一些陈述.一切都很顺利,没有错误......除了我根本无法执行任何查询.我有双重和三重检查我的语法.我甚至开始创建它应该返回错误的情况(试图让它INSERT到不存在的表或者超出列限制或不匹配类型的值)和......什么都没有.它不会返回错误,也不会写入错误.如果参数1不是mysqli类型,它会抱怨.

这是相关的代码:

$con = mysqli_connect("localhost", "root", "","test");

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "INSERT INTO files VALUES (NULL, 5, 'hello')";
mysqli_query($con, $query);
Run Code Online (Sandbox Code Playgroud)

没别的了.它运行没有问题,但它从不写记录.我甚至可以将$查询更改为"hdjhkfhhjfkd",它运行没问题.mysqli_query()只是没有执行,期间.我唯一能让它做出反应的是,如果我将$ con更改为其他任何东西,那么它会抱怨它需要一个mysqli类型.

思考?这让我疯狂.

Vol*_*erK 34

你检查过mysqli_query()的返回值吗?如果发生错误,则返回FALSE.在这种情况下,mysqli_error()为您提供有关错误的更多信息.

<?php
$con = mysqli_connect("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
  printf("Connect failed: %s\n", mysqli_connect_error());
  exit();
}

$query = "INSERT INTO files VALUES (NULL, 5, 'hello')";
echo "<pre>Debug: $query</pre>\m";
$result = mysqli_query($con, $query);
if ( false===$result ) {
  printf("error: %s\n", mysqli_error($con));
}
else {
  echo 'done.';
}
Run Code Online (Sandbox Code Playgroud)