【问题标题】:MySQLi query fails silently but succedes at SQL shellMySQLi 查询静默失败,但在 SQL shell 中成功
【发布时间】:2014-11-20 20:12:18
【问题描述】:

我试图从我的 OsTicket 安装中提取一些数据,但由于某种原因,第一个 SQL 查询静默失败(行开头:$openTickets)。但是,当进入 MySQL shell 时,查询会起作用。

<?php
    define('INCLUDE_DIR','dumb hack');
    require_once("./include/ost-config.php");

    $mysqli = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);
if ($mysqli->connect_error) {
    die("Couldn't Connect to MySQL Database.\nError (" . $mysqli->connect_errno . "): " . $mysqli->connect_error);
}

$openTickets = $mysqli->query("SELECT ticket_id, number, user_id FROM ost_ticket WHERE status='open'");

[...snip...]
?>

【问题讨论】:

  • 如果 $openTickets 返回 false,请使用 $mysqli-&gt;error 找出错误所在。

标签: php mysql sql mysqli


【解决方案1】:

MySQLI errno

$openTickets = $mysqli->query("SELECT ticket_id, number, user_id FROM ost_ticket WHERE status='open'");
if ($openTickets === false) {
    printf("Errorcode: %d\n", $mysqli->errno);
}

【讨论】:

  • $mysqli-&gt;errno = 0 根据该行之后的 var 转储。
猜你喜欢
  • 2012-07-14
  • 2011-09-20
  • 1970-01-01
  • 2020-09-13
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
相关资源
最近更新 更多