【问题标题】:MySQL, PHP Prepared Statements Matching a StringMySQL,PHP 准备好的语句匹配一个字符串
【发布时间】:2022-06-15 23:24:49
【问题描述】:

我经常使用准备好的语句来插入数据,但我正在尝试选择数据并且遇到了一个我似乎无法解决的问题。

此代码根本不起作用。没有错误,只是没有结果:

$student_name = "Student, Sample";
$student_number = "";

$SQLStmt = $db->prepare( "SELECT student_number FROM table WHERE `name` = ?" );
$SQLStmt->bind_param( "s", $student_name );
$SQLStmt->bind_result( $student_number );
$SQLStmt->execute();
$SQLStmt->store_result();
echo $student_number;

这段代码运行良好:

$student_name = "Student, Sample";
$student_number = "";

$SQLStatement = "SELECT student_number FROM table WHERE `name` = '".$student_name."'";
$result = $db->query($SQLStatement);
$myrow = $result->fetch_assoc();         
echo $myrow['student_number']; 

任何想法都将不胜感激。谢谢!

【问题讨论】:

  • 要从 PHP 中获取错误即使在 LIVE 环境中在调试时临时将这 4 行添加到任何 MYSQLI_ 的顶部您要调试的基于脚本ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);。这将强制任何MYSQLI_ 错误生成一个您可以在浏览器上看到的异常以及正常的 PHP 错误。

标签: php mysql prepared-statement


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
  • 2013-07-27
  • 2016-09-10
  • 2011-09-16
  • 2015-06-27
相关资源
最近更新 更多