问题在于:我今天开始使用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);
没什么。它运行没有问题,但它从不写记录。我甚至可以将$查询更改为“hdjhkfhhjfkd”,它运行没问题。 mysqli_query()只是没有执行,期间。我唯一能让它做出反应的是,如果我将$ con更改为其他任何东西,那么它会抱怨它需要一个mysqli类型。
思考?这让我疯狂。
答案 0 :(得分:32)
你检查过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.';
}
答案 1 :(得分:0)
public function connection()
{
$con=mysqli_connect('localhost','root','','int');
return $con;
}
public function login($u,$p)
{
$fd=$this->connection();
$sql = "SELECT * FROM user WHERE (uname = '".$u."' AND pass = '".$p."')";
$result = mysqli_query($fd,$sql);
$num = mysqli_num_rows($result);
if($num)
{
return TRUE;
}
else
{
return FALSE;
}
}
答案 2 :(得分:-3)
我也遇到了这个问题。 最后我发现问题出现在我与数据库的连接中。您可以使用以下连接代码轻松连接数据库。
$db_connect = mysqli_connect("host", "user", "password", "database");
我希望这段代码可以帮到你。如果您有任何问题,请发表评论。 Thanku。