mysql查询不起作用,但没有错误


mysql query not working, but there is no error

这是我的代码

    <?php
    $con=mysqli_connect("localhost","boursdfdswmat","PfdXfdsfkd");
    mysqli_select_db("dbanme",$con);
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
    else {echo "connected";}
    $qry=mysqli_query("SELECT `title`, `created_date`, `user_id` FROM    `invoices` WHERE `user_id` = 123 ORDER BY created_date DESC LIMIT 0 , 1");
    echo $res1=mysqli_num_rows($qry);
    $result=mysqli_fetch_array($qry);
    echo $result['0'];
    ///echo "hi";
    ?>

这些代码出了什么问题。我没有得到这些查询的任何结果。请帮帮我。谢谢

代码中有两个错误:无效使用mysqli_select_db和无效使用
mysqli_query对于*mysqli_select_db*:参数错误,而*mysqli_query*:连接丢失。

将您的代码更改为:

 <?php
    $con=mysqli_connect("localhost","boursdfdswmat","PfdXfdsfkd");
    mysqli_select_db($con,"ghese_new");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
    else {echo "connected";}
    $qry=mysqli_query($con,"SELECT `title`, `created_date`, `user_id` FROM    `invoices` WHERE `user_id` = 123 ORDER BY created_date DESC LIMIT 0 , 1");
    echo $res1=mysqli_num_rows($qry);
    $result=mysqli_fetch_array($qry);
    echo $result['1'];
    ///echo "hi";
    ?>

这里要做的基本调试方法是确定查询字符串是否有错误,或者是否实际连接到数据库。试着在你的代码上添加mysql_error(),比如

$con=mysqli_connect("localhost","bouwmat","PXk(0")or die(mysql_error());
mysqli_select_db("bouwmat_jos1",$con) or die(mysql_error());
$qry=mysqli_query("SELECT `title`, `created_date`, `user_id` FROM    `jos_listbingo_cart_cart_invoices` WHERE `user_id` = 896 ORDER BY created_date DESC LIMIT 0 , 1")or die(mysql_error());

看起来您已经使用了旧的不推荐使用的mysql_*函数,并用mysqli替换了它们,但这并不总是有效的
大多数过程性的mysqli调用都需要$link参数(您的连接),如:

 mysqli_query($connection, $query);

或:mysqli_error($connection);

我不认为有mysqli_connect_errno()函数,我至少在文档中找不到(但我可能错了,如果是,请纠正我)
有一个$mysqli->connect_errno变量tho,但它应该在您的$con变量上调用。但是您使用的是mysqli的过程版本,所以您可能只想使用mysqli_error($con);调用。

您还可以在mysqli_select_db调用中选择数据库。这并不是真的错,但建议在连接调用中选择数据库:

 $con=mysqli_connect("localhost","boursdfdswmat","PfdXfdsfkd", "dbname");

检查文档:http://www.php.net/manual/en/book.mysqli.php了解更多信息。

<?php
    $con=mysqli_connect("localhost","boursdfdswmat","PfdXfdsfkd","dbanme");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
    else {echo "connected";}
    $qry=mysqli_query($con,"SELECT `title`, `created_date`, `user_id` FROM    `invoices` WHERE `user_id` = 123 ORDER BY created_date DESC LIMIT 0 , 1");
    echo $res1=mysqli_num_rows($qry);
    $result=mysqli_fetch_array($qry);
    echo $result['0'];
 ?>

试试这个代码,mysqli_connect直接接受数据库和查询需要连接的对象