php easyadmin 为啥不能用Db类?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php easyadmin 为啥不能用Db类?相关的知识,希望对你有一定的参考价值。

范德萨

参考技术A 是不是没有use DB呢

为啥“WHERE”查询不能在 php 中使用 SQLITE [重复]

【中文标题】为啥“WHERE”查询不能在 php 中使用 SQLITE [重复]【英文标题】:Why is the "WHERE" query not working with SQLITE in php [duplicate]为什么“WHERE”查询不能在 php 中使用 SQLITE [重复] 【发布时间】: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 驱动程序提供,则应该参数化(如果没有,您可能应该找到不同的驱动程序)。 php.net/manual/en/sqlite3.prepare.php ***.com/tags/php/info 如何使我的数据库查询免受 SQL 注入的影响? 您应该关闭问题。或者自己回答并接受答案。 【参考方案1】:

问题已经解决了。我使用了PDO的prepared statement to use where by using ?代替变量,然后使用 $db->Bindparam(1,$uname) 将其与变量字符串绑定。我仍然不知道是什么原因造成的,但现在解决了。

【讨论】:

以上是关于php easyadmin 为啥不能用Db类?的主要内容,如果未能解决你的问题,请参考以下文章

为啥不能在 PHP 中从抽象类中调用抽象函数?

为啥我不能将 PHP 类实例存储为 SESSION 变量

为啥 PHP 的空合并运算符 (??) 不能处理具有不同可见性的类常量?

为啥我不能下载用 PHP 上传的文件?

用elasticsearch-php laravel为啥不能返回高亮数据

为啥 Imagick 类不能将 pdf 文件转换为图像文件?