在执行mysqli_query时遇到问题

2022-08-30 20:40:49

问题是:我今天开始交换使用mysqli。没什么大不了的,只是不得不改变一些说法。一切顺利,没有错误...除了我根本无法让它执行任何查询。我已经双重和三重检查了我的语法。我甚至开始创建它应该返回错误的情况(尝试将其插入到不存在的表或值超过列限制或与类型不匹配)和...无。它不会返回错误,也不会写入。如果参数 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);

什么都没有。它运行没有问题,但它从不写入记录。我甚至可以将$query更改为“hdjhkfhhjfkd”,并且没有问题。mysqli_query() 只是没有执行,句号。我唯一能让它做出反应的时候是,如果我$con更改为其他任何东西,那么它就会抱怨它需要一个mysqli类型。

思潮?这让我发疯了。


答案 1

您是否检查过 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.';
}

答案 2

推荐