草庐IT

sql-parametrized-query

全部标签

php - 哪个消耗的资源少?打开文本文件或进行 sql 查询,都一千次?

我有一个显示食谱的php网站www.trymasak.my,确切地说。索引页面上显示的食谱大约每天更新一次。为了获得最新的食谱,我只使用了一个mysql查询,类似于“从表中选择食谱名称、页面View、图像,最后更新”。所以如果我每天有10000个访问者,显然每天会进行10000次查询。一位friend告诉我一个更好的方法(在减少服务器负载方面)是当我更新食谱时,我只是将最新的食谱详细信息(名称,图像等)放入文本文件中,然后制作我的页面而不是查询相同的页面查询10000次,只是从文本文件中获取数据。他的建议真的更好吗?如果是,我应该使用哪个php命令打开、读取和关闭文本文件?谢谢

php - 与 mysql_query 相比,使用 PDO::query 是否有任何安全优势?

我想重构一些遗留的PHP代码,我知道PDO通过添加准备好的语句等更安全,但我想知道使用PDO::是否有任何安全优势query()方法与mysql_query()方法。有吗? 最佳答案 除了PDO或mysql_*中的错误外,数据库查询的安全问题取决于正在运行的查询,而不是用于连接到数据库的内容。如果您使用userdata创建一个不安全的查询并使用PDO::query()执行它,它与使用mysql_query()一样不安全。同样,如果您有安全查询,使用PDO::query()运行它实际上与使用mysql_query()相同。

php - 在 PHP 中执行存储过程后调用 odbc_fetch_array 给出错误 [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index

因此,我尝试使用ODBC在SQL数据库中执行存储过程,但它返回错误odbc_fetch_array()[function.odbc-fetch-array]:SQLerror:[Microsoft][ODBCSQLServerDriver]InvalidDescriptorIndex,SQLstateS1002inSQLGetData这是PHP部分,非常标准...$id=240$user="user";$password="password";$server="server";$database="database";$con=odbc_connect("SERVER=$server;

php - 有没有办法让 PHP 在不执行 SQL 语法的情况下验证它?

我想构建一个PHP脚本来验证SQL查询,但不执行它。它不仅应该验证语法,而且如果可能的话,还应该让您知道查询是否可以在给定查询中的命令的情况下执行。这是我希望它执行的操作的伪代码:是这样的。我希望它在不执行查询的情况下模拟查询。这就是我想要的,但我在这上面找不到任何东西。我们不希望执行查询的一个例子是,如果查询向数据库添加了一些东西。我们只是希望它在不修改数据库的情况下模拟它。任何链接或示例将不胜感激! 最佳答案 从MySQL5.6.3开始,您可以对大多数查询使用EXPLAIN我做了这个,效果很好:functioncheckMySq

php - PHP 表单的 SQL 注入(inject)威胁?

我试图证明在PHP中准备语句的必要性,但我遇到了一点问题,因为PHP使用通过表单传递的字符串做了一些很奇怪的事情。我试图“打破”的陈述很简单:SELECTusernameFROMusersWHEREusername='$username'ANDpassword='$password'但是为密码传递X'或TRUE;--之类的操作实际上不起作用,因为PHP会自动转义单引号并将语句转换为:SELECTusernameFROMusersWHEREusername='$username'ANDpassword='X\'orTRUE;--'并且由于转义单引号,密码相等性保持不变。这个陈述被认为是安

php - PHP调用SQL外键数据

我需要更好地掌握操作和利用我需要制作的SQL表的过程,这样我才能继续弄清楚我应该如何制作它们并构建它们以使其工作。如果我有一个衬衫表和另一个尺码表,我在衬衫表上使用外键链接到尺码表以表示该列的多个选项。我是否只需要在PHP编码中调用衬衫表?如果是这样,我如何告诉PHP收集大小表上每一行可用的任何选项?如果在表中有vneck尺寸,圆领尺寸我将其设置为vnecks只有s、m、l、1x,而低圆领有xs、s、m、l、1x、2x、3x。我如何编写PHP代码来识别我在该列的每一行中逻辑设置的差异? 最佳答案 听起来您实际上需要至少三张表,一张用

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接

com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接驱动版本最新JDBC驱动下载地址:JDBCdriver6.4forSQLServer(https://www.microsoft.com/zh-CN/download/details.aspx?id=56615,由图中可以看出,最低仅支持JRE7和SQLServer2008,需要其他版本请自行查找)1.SQLSERVER2000JDBC驱动程序:msbase.jar、mssqlserver.jar、msutil.jar。这

php - Yii : Getting id after createCommand execute query

在事件记录中,我通常只是得到$model->id,之后executing$model->save();但是createCommand呢?如何获取插入行的ID(pk)?Yii::app()->db->createCommand($sql)->query();我试过:$id=Yii::app()->db->getLastInsertedID();但它要求输入序列名称。错误。我如何做事件记录计数器部分?谢谢! 最佳答案 如果您使用execute()而不是query()Yii::app()->db->createCommand($sql)-

php - fatfree SQL 错误处理

如果出于某种原因,使用映射器创建条目时出现错误,我会收到错误消息。我想做一个自定义通知并像这样优雅地失败......try{$request->save();}catch(Exception$e){$this->utils->errorNotify($f3,'couldnotcreatearequestentry',http_build_query($_POST));returnnull;}这可以用F3吗? 最佳答案 \DB\SQL是PDO的子类,因此它可以抛出可捕获的PDO异常。由于这些默认情况下处于禁用状态,因此您需要先启用它们

php - 使用 query_string 在 php 中提供一些额外安全性的函数

几年前,我开始在页面顶部使用以下代码。我读到这很好并使用了它。但我想知道,这有帮助吗?$page="index.php";$cracktrack=$_SERVER['QUERY_STRING'];$wormprotector=array('chr(','chr=','chr%20','%20chr','wget%20','%20wget','wget(','cmd=','%20cmd','cmd%20','rush=','%20rush','rush%20','union%20','%20union','union(','union=','echr(','%20echr','echr%