PDO prepeared语句PHP调用未定义的方法PDO :: execute()

时间:2018-01-13 22:51:16

标签: php pdo

我是php mysqli ect的新手,我尽力安排预先准备好的声明功能无济于事。我得到的是以下错误。

调用未定义的方法PDO :: execute()

我不明白为什么会这样。

正在传递值并回显但是我仍然会收到此错误。

它不会从数据库中检索数据,因为在执行此操作之前会调用错误。

任何人都可以从代码中看到问题是什么.ii。在网上搜索。并且最接近我得到了关于检查输入的Isset的内容,但我已经完成了这个,所以这不是问题。

我很困惑。

感谢您的任何建议......很可能非常简单。但我也是。

<?php

//include('conect.php')


$dbh = new PDO("mysql:host=localhost;dbname=classifieds", 'root', '');


$type=$_POST['type'];   
$price=$_POST['price']; 


if (isset($type) && isset($price)) {

echo $type;
echo $price;

$dbh->prepare('SELECT * FROM testdata WHERE type=? AND price=?');
$stm = $dbh->execute(array($type, $price));

if(($row = $stm->fetchObject())) {

    $type=$row['type'];
    $price=$row['price'];

    echo $type; 
    echo $price;

} else 
    { echo "none recieved"; }

} else
    {echo "invalid"; }

?>

1 个答案:

答案 0 :(得分:1)

您必须将override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier.rawValue == "company" { let destinationController = segue.destination as! MagazineTableViewController let indexPath = sender as! IndexPath destinationController.customInit(magazinesindex: indexPath.row, title: topics[indexPath.row]) } } 分配给变量,然后在其上调用$dbh->prepare('SELECT * FROM testdata WHERE type=? AND price=?');方法。

示例:

execute()

这是因为$smth = $dbh->prepare('SELECT * FROM testdata WHERE type=? AND price=?'); $result = $smth->execute(array($type, $price)); 没有PDO方法,但是从execute方法解析了PDOStatement个对象。