【问题标题】:Get query back from MYSQLi prepared statement从 MYSQLi 准备好的语句中获取查询
【发布时间】:2016-09-11 22:19:55
【问题描述】:

我准备好的语句如下所示:

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";

// prepare and bind
$stmt = $conn->prepare("INSERT INTO `devices` (`deviceName`, `type`, `deviceToken`) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $deviceName, $deviceToken, $type);
$stmt->execute();
echo "executed";
$result = $stmt->get_result();
$conn->close();

我想回应查询。 我知道PDO方法:

$binded_query = $stmt->queryString

但我需要使用 MYSQLi。
那我该怎么做呢?

【问题讨论】:

  • 如果执行 print_r($result); 输出会是什么样子?
  • @Brogan 什么都没有。它什么也不打印。
  • @AlanTan 我做过一次,但我在任何地方都找不到该代码...
  • 你可以试试这个说法吗? "INSERT INTO devices (deviceName, type, deviceToken) VALUES ('?', '?', '?')"

标签: php mysql mysqli prepared-statement


【解决方案1】:
$sql = "INSERT INTO `devices` (`deviceName`, `type`, `deviceToken`) VALUES (?, ?, ?)"
$stmt = $conn->prepare($sql);
echo $sql; // here you go

【讨论】:

  • 但是,这样你就看不到绑定的值了
  • 原始发帖人没有这么问。但是,如果您需要值,您也可以输出它们: var_dump($deviceName, $deviceToken, $type)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多