Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示mysql db中的值-fetch_object()错误_Php - Fatal编程技术网

Php 显示mysql db中的值-fetch_object()错误

Php 显示mysql db中的值-fetch_object()错误,php,Php,我正在将表单中的值提交到mysql数据库中。之后,我将执行一个select查询,尝试获取之前插入的值并显示其结果。我使用while循环迭代并仅显示两个值academy\u id和academyname。当试图显示这些值时,我得到一个错误调用未定义的方法mysqli\u stmt::fetch\u object()。如何修复此错误并显示所需的值 if(isset($\u POST['submit'])){ $db_insert=$db_con->prepare(“插入学院(名称、类型、状态、学院

我正在将表单中的值提交到mysql数据库中。之后,我将执行一个select查询,尝试获取之前插入的值并显示其结果。我使用while循环迭代并仅显示两个值
academy\u id
和academy
name
。当试图显示这些值时,我得到一个错误
调用未定义的方法mysqli\u stmt::fetch\u object()
。如何修复此错误并显示所需的值

if(isset($\u POST['submit'])){
$db_insert=$db_con->prepare(“插入学院(名称、类型、状态、学院id、街道地址、邮编、城市、州、注释)值(?,,,,,,,,,,,,,,?)”;
$db_insert->bind_param('sssisssss',$邮政['name'],$邮政['type'],$邮政['status'],$邮政['acad_id'],$邮政['street'],$邮政['zipcode'],$邮政['city'],$邮政['state'],$邮政['acad_comm']);
$db_insert->execute();
$academy_id=$\u POST['acad_id'];
//基于academy\u id从数据库读取值的查询
$db\u select=$db\u con->prepare(“
选择一个.name作为“Academy name:”,
a、 学院id为“学院id:”,
a、 状态为“状态:”,
a、 类型为“类型:”,
a、 街道地址为“街道:”,
a、 城市作为“城市:”,
a、 状态为“状态:”,
a、 zipcode为“邮政编码:”,
a、 注释为“注释:”
来自a学院
其中a.academy\u id=$academy\u id
");
$db_select->bind_参数(“i”,$academy_id);
$db_选择->执行();
而($row=$db\u select->fetch\u object()){
回显“结果:
”; 回显“学院ID:.$Academy_ID.”
“; echo“Name:”.$\u POST['Name'].“
”; } } ?> 名称:
学院地位: 活跃的 不活跃的 类型: 高中 专上教育 提供的课程? 1. 2. 学院编号:
地址:
邮政编码:
城市:
声明:
总体说明/评论:


在我看来,错误消息非常准确:该类没有我可以发现的任何
fetch_object()
方法

请看一些图片。您不应该从语句中获取结果,而是从返回的:

$db_insert->execute();
您也没有进行任何错误检查。这应该失败:

$db_select->bind_param("i", $academy_id);
。。。因为该查询不包含任何占位符:

WHERE a.academy_id = $academy_id
。。。。应该是:

WHERE a.academy_id = :academy_id

但是您没有检查任何结果值,因此您最终会猜测。

错误消息在我看来是准确的:该类没有我可以发现的任何
fetch\u object()
方法

请看一些图片。您不应该从语句中获取结果,而是从返回的:

$db_insert->execute();
您也没有进行任何错误检查。这应该失败:

$db_select->bind_param("i", $academy_id);
。。。因为该查询不包含任何占位符:

WHERE a.academy_id = $academy_id
。。。。应该是:

WHERE a.academy_id = :academy_id

但是您不检查任何结果值,因此您最终会猜测。

您可以尝试fetch或fetchAll,while和foreach都可以

while ($row = $db_select->fetch(PDO::FETCH_ASSOC)) {
    echo "<h2>Result:</h2><br>";
    echo "Academy ID: " . $academy_id. "<br>";  
    echo "Name: " . $_POST['name'] . "<br>";        
} 

foreach ($db_select->fetchAll(PDO::FETCH_ASSOC) as $row) {
    echo "<h2>Result:</h2><br>";
    echo "Academy ID: " . $academy_id. "<br>";  
    echo "Name: " . $_POST['name'] . "<br>";   
}
while($row=$db\u select->fetch(PDO::fetch\u ASSOC)){
回显“结果:
”; 回显“学院ID:.$Academy_ID.”
“; echo“Name:”.$\u POST['Name'].“
”; } foreach($db_select->fetchAll(PDO::FETCH_ASSOC)作为$row){ 回显“结果:
”; 回显“学院ID:.$Academy_ID.”
“; echo“Name:”.$\u POST['Name'].“
”; }
您可以尝试fetch或fetchAll,while和foreach都可以

while ($row = $db_select->fetch(PDO::FETCH_ASSOC)) {
    echo "<h2>Result:</h2><br>";
    echo "Academy ID: " . $academy_id. "<br>";  
    echo "Name: " . $_POST['name'] . "<br>";        
} 

foreach ($db_select->fetchAll(PDO::FETCH_ASSOC) as $row) {
    echo "<h2>Result:</h2><br>";
    echo "Academy ID: " . $academy_id. "<br>";  
    echo "Name: " . $_POST['name'] . "<br>";   
}
while($row=$db\u select->fetch(PDO::fetch\u ASSOC)){
回显“结果:
”; 回显“学院ID:.$Academy_ID.”
“; echo“Name:”.$\u POST['Name'].“
”; } foreach($db_select->fetchAll(PDO::FETCH_ASSOC)作为$row){ 回显“结果:
”; 回显“学院ID:.$Academy_ID.”
“; echo“Name:”.$\u POST['Name'].“
”; }
这不是说你可以将任何数据库扩展的函数粘在一起并使其工作。这不是说你可以将任何数据库扩展的函数粘在一起并使其工作。我如何修复
$db\u select->bind\u param(“I”,$academy\u id)?+1是,进行了更改,但现在显示了
bind_-param
如何修复
$db_-select->bind_-param(“I”,$academy_-id)的错误?+1是,进行了更改,但现在显示绑定参数出现错误