我是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"; }
?>
答案 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
个对象。