【问题标题】:Simple query not working?简单查询不起作用?
【发布时间】:2014-07-26 18:36:03
【问题描述】:

我正在尝试从数据库中获取单个值。不知何故,它没有回声。我知道安全性弃用,稍后将使用 PDO,这只是作为测试。我填写了正确的表格。当我使用 phpmyadmin 中的 sql 时,它正确地给了我想要的值。

  <?php
    include 'connectdb.php';

    $result = mysql_query("SELECT id FROM table ORDER BY id DESC LIMIT 1");

    $row = mysql_fetch_row($result);


    echo $row["id"];

    mysql_close();

   ?>

【问题讨论】:

  • 最好添加mysql_error() 来检查是否有任何错误。所以试试这个,$result = mysql_query("SELECT id FROM table ORDER BY id DESC LIMIT 1") or die("Error :: " . mysql_error()); 看看有没有报错
  • 我相信您的桌子并没有真正被称为“桌子”!?!?!?
  • 感谢肖恩成功了!
  • @Sean 让您的评论成为答案,它会被接受和投票...以获得更多代表 :)

标签: php mysql sql database echo


【解决方案1】:

根据文档->mysql_fetch_row — Get a result row as an enumerated array http://php.net/manual/en/function.mysql-fetch-row.php 所以你想要

echo $row[0];

--
注意:同样来自文档 -> Warning [mysql_functions/] 扩展自 PHP 5.5.0 起已弃用,并将在未来删除。相反,应该使用MySQLi 或PDO_MySQL 扩展名。另请参阅MySQL: choosing an API 指南和相关FAQ 了解更多信息。

【讨论】:

  • 感谢您的帮助,答案很好:)
【解决方案2】:

你可以试试这个:

echo $row[0];

而不是

echo $row["id"];

【讨论】:

    【解决方案3】:

    这就是你在 mysqli 中的做法(正如你所指出的,你不应该使用 mysql_ 函数)

    您可以将 $con 放在其他位置,并在每次使用查询时使用 include。 (根据您的情况,将连接字符串中的值替换为实际值。)

    <?php
    
    $con = mysqli_connect('localhost',$mysql_user,$mysql_password,$mysql_dbname); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } mysqli_select_db($con,"xyz");
    
    $result = mysqli_query("select id from table order by id desc limit 1");
    
    $result_row = mysqli_fetch_array($result);
    
    echo $result_row['id'];
    
    ?>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多