【发布时间】:2016-03-12 12:50:42
【问题描述】:
我从这里更改了我的代码
$query = "SELECT first_id, first, webpage_id FROM first WHERE first= ?";
$stmt = $connect->prepare($query);
$stmt->bind_param('s', $first);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_array()){
$first_id = $row['first_id'];
$first = $row['first'];
$webpage_id = $row['webpage_id'];
echo '<div class="yellow container">
<div class="alt">
<div class="first_name left"><h1>'.$row['first'].'</h1></div>
<div>
<div class="add_sub"><input type="button" class="addsub" data-id="'.$row['first_id'].'" /></div>
</div>
</div>';
$query = "SELECT webpage_id, url, explanation FROM webpage WHERE webpage_id= ?";
$stmt = $connect->prepare($query);
$stmt->bind_param('i', $webpage_id);
$stmt->execute();
$result_ce = $stmt->get_result();
为了在我的网站中使用存储过程而进入这个。我的第一个代码工作完美,但第二个代码在正确执行存储过程后停止工作。它说 在第 42 行的布尔值上调用成员函数 bind_param()
$result = $connect->query("CALL selectfirst('$first')");
// all codes above stays same
while($row = $result->fetch_array()){
$first_id = $row['first_id'];
$first = $row['first'];
$webpage_id = $row['webpage_id'];
echo '<div class="yellow container">
<div class="alt">
<div class="first_name left"><h1>'.$row['first'].'</h1></div>
<div>
<div class="add_sub"><input type="button" class="addsub" data-id="'.$row['first_id'].'" /></div>
</div>
</div>';
$query2 = "SELECT webpage_id, url, explanation FROM webpage WHERE webpage_id= ?";
$stmt = $connect->prepare($query2);
$stmt->bind_param('i', $webpage_id); //line 42
$stmt->execute();
$result_ce = $stmt->get_result();
我的存储过程由phpmyadmin gui 编写。我刚刚写了SELECT * FROM first = ufirst; 并点击了创建。也许有问题?
重要!!我在第二个 sql 之后使用了 trigger_error($connect->error."[$query2]"),页面显示 *Commands out of sync; you can't run this command now[SELECT webpage_id, url, explanation FROM webpage WHERE webpage_id=53]* 这是什么意思?
【问题讨论】:
-
@its 清楚地改变了第二个 sql 命令中的某些内容。我对吗?因为第一个代码完美无缺
-
是的,我想让我看看
-
你检查
$webpage_id的值和类型了吗?您确定它包含和INTEGER值吗? -
@RichardSt-Cyr 我检查了来自存储过程的所有三行。他们工作正常。我开始认为问题是来自 XAMPP 的 PHP 或 MySQL 的版本
-
在设置
$query2之前尝试调用mysql_free_result($result)。这听起来像是与此问题相关的问题:stackoverflow.com/questions/614671/…
标签: php mysql stored-procedures phpmyadmin