草庐IT

SQL语句分类

全部标签

php - 在 sql 中多次使用相同的准备语句参数

我试图在我的sql中使用相同的参数,但它只识别第一个。看我的代码:$stmt=$dbh->prepare("SELECT(SELECTSUM(oq.value)FROMoperations_quotasASoqJOINoperationsASoONoq.operation=o.idWHEREo.user=:userANDo.type=1ANDoq.status=1)AStotal_incomes_open,(SELECTSUM(oq.value)FROMoperations_quotasASoqJOINoperationsASoONoq.operation=o.idWHEREo.use

php - 将此 MySQLi 查询编写为准备好的语句

我有一个现有的MySQLi查询:$conn=dbConnect('query');$galNumb="SELECTCOUNT(pj_gallery_id)FROMpj_galleriesWHEREproject={$project}";$gNumb=$conn->query($galNumb);$row=$gNumb->fetch_row();$galTotal=$row[0];这会计算每个项目与$project中包含的查询字符串中的值相匹配的画廊数量。它工作完美,但与准备好的语句相比并不安全。我已经研究了两天,无法学习如何将此语句编写为准备好的语句。我们将不胜感激任何和所有帮助。更新

php - 在 PHP PostgreSQL 中转义 SQL 查询

我有一个网站有很多PHP文件(真的很多...),它们使用了pg_query和pg_exec函数,但它们没有转义PostgreSQL查询中的撇号。但是,出于安全原因以及存储名称的能力我的数据库中的撇号我想为我的数据库输入添加一个转义机制。一个可能的解决方案是去遍历每个PHP文件并更改pg_query和pg_exec以使用pg_query_params但这都很耗时并且容易出错。一个好主意是以某种方式覆盖pg_query和pg_exec到包装函数,这将无需更改任何PHP文件即可进行转义,但在这种情况下,我想我将不得不更改PHP函数定义并重新编译它,这不是很理想。所以,这个问题是开放的,任何想

php - 这个 PDO 代码对 SQL 注入(inject)足够安全吗?

这个问题在这里已经有了答案:ArePDOpreparedstatementssufficienttopreventSQLinjection?(7个答案)关闭9年前。正如标题所说:这段代码对SQL注入(inject)足够安全吗?有没有更好的方法来防止SQL注入(inject)?setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);$query=$db->prepare("INSERTINTO`$usertable`(first_n

php - SQL 命令的类型强制转换警告

我已经坚持了一段时间了,我知道这是一个非常初学者,但找不到任何类似的问题。我正在尝试显示我最后一个主题的详细信息,但我收到了警告。*Warning:pg_exec()[function.pg-exec]:Queryfailed:ERROR:operatordoesnotexist:charactervarying=integerLINE4:WHEREt_cat=3^HINT:Nooperatormatchesthegivennameandargumenttype(s).Youmightneedtoaddexplicittypecasts.*感谢任何帮助$topicsearh=pg_ex

php - ZF2 + Zend\Db\Sql\Insert + 重复 key 更新

我想使用带有选项ONDUPLICATEKEYUPDATE的Zend\Db\Sql\Insert插入一些数据其实我用的是这种查询:INSERTINTO`user_data`(`user_id`,`category`,`value`)VALUES(12,'cat2','mycategoryvalue')ONDUPLICATEKEYUPDATE`user_id`=VALUES(`user_id`),`category`=VALUES(`category`),`value`=VALUES(`value`);与$this->dbAdapter->query($sql,Adapter::QUERY

php - Zend 框架 2 : Getting an ordered SQL call

我一直在尝试获取一个字段的ASC/DESC调用顺序(假设已创建),但我似乎无法弄清楚如何在ZF2中执行此操作。我哪里错了..?namespaceTodo\Model;classTodoTableextendsAbstractTableGateway{publicfunction__construct(Adapter$adapter){$this->adapter=$adapter;$this->resultSetPrototype=newResultSet();$this->resultSetPrototype->setArrayObjectPrototype(newTodo());$

if-statement - .phtml 和 .php 中的 If 语句

我无法理解文件扩展名.phtml。根据我的阅读,它应该是一种同时使用html和php的方法(如果我弄错了请纠正我)。我想做的很简单,我有一个php变量,如果它满足特定条件,则应执行一些html代码,否则应执行其他一些html代码。我的代码是:12当我将它保存为.php文件并运行时,我得到的输出仅为“1”,但对于.phtml,我得到的是“12”。谁能解释一下为什么? 最佳答案 你需要配置运行.php/.phtml扩展,所以AddTypeapplication/x-httpd-php.php.phtml.html在你的httpd.con

php - PDO 语句获取 - 无法访问空属性

我真的很困惑。这个查询在本地主机上工作得很好,但在任何实际的实时服务器上都没有。同一数据库上的其他查询有效,因此连接或pdo扩展没有任何问题。基本上这是查询:$sql="SELECT*FROMbksb_Resources";$query=$this->connection->query($sql,array());query()方法返回PDOStatement对象然后我在一个循环中调用$this->connection->fetch($query),它又被路由到“connection”对象上的一个方法:functionfetch_pdo($st){return$st->fetch();

php - SQL-仅当列与当前时间相等时才选择行

我有一个PHP脚本,只有当B列的日期时间等于当前时间时,它才应显示A列的值。ColumnA|ColumnB------------------------------House|2013-06-2812:47:30Dog|2013-06-2812:47:52Forrest|2013-06-3014:54:12在我们的例子中,如果当前时间是2013-06-2812:47:44,那么脚本应该显示HouseandDog。我的想法是,只有当B列与当前年-月-日时-分相同而不是秒时,我才应该获取该行。我试过DATE_SUB(CURTIME()-59)但它不工作......我怎么能只用SQL来做呢