【发布时间】:2019-06-13 15:55:11
【问题描述】:
编辑:问题已解决。我使用 PDO 的准备好的语句来使用 where by using ?代替变量,然后将其与变量字符串绑定。
我已经使用下面提到的 sql 查询来连接两个表并在那里显示数据。这里是
SELECT docinfo.fnamedoc,docinfo.lnamedoc,docinfo.department,
prescriptions.prescription FROM docinfo INNER JOIN prescriptions
ON docinfo.unamedoc=prescriptions.unamed
当我在此语句旁边使用额外的 WHERE 时,它可以与 SQL DB 软件“SQLite 的 DB 浏览器”一起使用,当我在其上运行 sql 代码但它不能与 php 一起使用时。当我使用 where 时不会显示任何内容但是当我不使用 where 时,php 中的代码可以工作。
带有WHERE的代码如下:
SELECT docinfo.fnamedoc,docinfo.lnamedoc,docinfo.department,
prescriptions.prescription FROM docinfo INNER JOIN prescriptions
ON docinfo.unamedoc=prescriptions.unamed WHERE prescriptions.unamep=$uname`
查询在“DB browser for sqlite”中运行成功并显示一行的图片如下 SQL Query in DB Browser for SQLITE
【问题讨论】:
-
不知道 sqlite 但可能是因为
$uname是一个字符串,需要引用。如果 PHP 驱动程序提供,则应该参数化(如果没有,您可能应该找到不同的驱动程序)。 -
stackoverflow.com/tags/php/info 如何使我的数据库查询免受 SQL 注入的影响?
-
您应该关闭问题。或者自己回答并接受答案。