在执行mysqli_query时遇到问题

时间:2010-02-21 05:25:30

标签: 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);

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

思考?这让我疯狂。

3 个答案:

答案 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。