【发布时间】:2011-07-13 10:39:21
【问题描述】:
我有一个数据库“书籍”
book_id author title
1 O'Brien, Tim MSXML3: A Comprehensive Guide
2 O'Brien, Tim Microsoft .NET: The Programming Bible
3 Kress, Peter Paradox Lost
4 Knorr Creepy Crawlies
5 Thurman, Paula Splish Splash
我正在使用 PDO 开发我的数据库类。
我的 pdo conn 字符串带参数:obj =new PDO("mysql:host = localhost; dbname = testing",root,'')
最后我的班级正在发送查询:$query(say)=SELECT * FROM books WHERE book_id = ? AND author = ?
这里'?'表示准备好的查询的参数标记。
当我准备我的查询时:$result = obj->prepare($query);
将 $param 中的 book_id 和 author 保存为:$param =array(1,Knorr);
现在我正在执行它:$result->execute($param);
Itz 不工作。查询不执行。经过长时间的研究,我尝试使用数据库名称查询表名,例如:SELECT * FROM testing.books WHERE book_id = ? AND author = ? 并执行..它像黄油一样执行和工作......
现在的问题是,这正在发生吗??..没有 pdo 的文章提到它也可能发生。 Sumone 请告诉你我必须在 wid 表名中使用数据库名???
【问题讨论】:
-
丢掉空格(
"mysql:host=localhost;dbname=testing")
标签: php pdo prepared-statement