草庐IT

Mysqli_result

全部标签

PHP MySQLi 参数化查询不起作用

我正在将当前未protected查询更新为参数化查询,以防止SQL注入(inject)。我花了几个小时试图对此进行排序,但找不到问题所在,非常感谢任何帮助。BEFORE(echo$row['storeID'];)在之前工作$storeName=mysqli_real_escape_string($conn,$_GET['store']);$query="SELECT*FROMstoresWHEREstoreName='$storeName'";$results=mysqli_query($conn,$query);$row=mysqli_fetch_assoc($results);之后

php - MySQLi 在使用 SSL 时是否默认验证服务器证书?

这就是我通常使用SSL连接到MySQL数据库的方式:$db=mysqli_init();mysqli_ssl_set($db,NULL,NULL,'/etc/ssl/my-certs/ssl-ca.crt.pem',NULL,NULL);mysqli_real_connect($db,'db.example.com','john','123456',NULL,NULL,NULL,MYSQLI_CLIENT_SSL);在阅读mysqli::options的PHP文档时,我注意到存在MYSQLI_OPT_SSL_VERIFY_SERVER_CERT选项,我认为这是一个让MySQLi验证服务

php - 返回由 mysqli_stmt_bind_param 创建的语句

我正在使用mysqli_stmt_bind_param()创建一个INSERT语句。出于某种原因,我收到一个错误。我使用mysqli_error()来查看错误消息,但它并不是特别有用。有没有办法只查看实际正在执行的查询?产生的错误:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'desc,date,expdate,mintix,maxtix,contactname,contactemail,contactphone)

mysql - 如何在 MySQL 中使用 select result with like

我需要一些在WHERE的LIKE语句中使用选择输出的MySQL代码。我的意思是这样的:SELECTidFROM(SELECTid,parent_idFROMunitsWHEREptitlelike'%(SELECTptitleFROMunitsWHEREid='".$id."')%') 最佳答案 你需要使用concatSELECTidFROM(SELECTid,parent_idFROMunitsWHEREptitlelikeconcat('%',(SELECTptitleFROMunitsWHEREid='".$id."'),'%

php - 如何从 php MySQL sql 注入(inject)易受攻击的查询到 MySQLi 不易受攻击的查询

我学习MySQLi是为了使我的网站不易受到SQL注入(inject)的攻击(现在就是这样)但是当我试图将我的旧查询“翻译”成MySQLi语句时我感到困惑,所以我希望你能帮助我一些例子,所以我可以得到它。非常感谢!更新我的网站计数器$sql="UPDATEpostSETcounter=counter+1WHEREid=".$tget;整理我的评论$info=mysql_query("SELECT*FROM`comments`WHEREidpost=".$tget."ANDactive=1ORDERBYdatetimeDESC");正在保存评论$sql="INSERTINTO`commen

php - mysqli 查询中的问题 - 时间戳

我的查询有问题。数据库中的字段(userid,code,timestamp)我想在此代码中验证是否存在用户ID和相应的代码,但插入时间少于一天,否则显示消息“链接已过期”没有这行我的代码运行良好TIMESTAMPDIFF(DAY,CURTIME(),timestamp).目前没有任何时间戳条件返回"selectuserid,codefrompassword_resetwhereuserid=?andcode=?andTIMESTAMPDIFF(DAY,CURTIME(),timestamp)这段代码有问题吗?基本上我的想法是:如果时间戳超过一天,则向用户返回错误。我的脚本(问题只在查询

php - 使用 MySqli 向 MySql 记录插入 NULL 值

我的页面使用ajax数据发送到php脚本。脚本获取的变量之一是:$product_disc现在,我在脚本中所做的一个小测试清楚地表明$product_disc为空。测试:if($product_disc==null){$test="null";}else{$test="notnull";}我让我的代码将$test返回给ajax调用过程:$return_array['success']=array('test'=>$test);并且使用Firebug我看到ajax响应有:"test":"null"所以我得出结论$product_disc是有值(value)的:null现在,在我的脚本中,

php - 如何使用 PHP/MySQLi 将 NULL 放入 MySQL 整数列中?

我通过URL将值传递到PHP页面,并在MySQLi的查询中使用它们。问题是对于整数列,空字符串被转换为零,而实际上它需要为NULL。如何使用PHP/MySQLi从URL中传递的参数将NULL放入整数列?更新:这是我如何使用传入参数和准备好的语句执行插入的示例。我需要在数据库上为NULL的是$specialtyType。functionInsertItem($itemID,$ownerID,$specialtyType){$this->insertItemStmt->bind_param("ssi",$itemID,$ownerID,$specialtyType);$this->inse

php - 为什么 mysqli_connect 不能工作而 mysql_connect 可以?

为什么会出现这种情况?代码如下:$dbc=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);echo$dbc;if(!$dbc){die('couldnotopenaconnection'.mysqli_connect_errno().mysqli_connect_error());}同样,如果我用mysql替换mysqli,我会得到一个返回的dbc资源ID(我认为这很好)。我想使用mysqli,因为我听说它更好/更快。现在我收到错误代码2003。 最佳答案 mysql_conn

php - Mysql mysql_num_rows($result);备择方案

是否有使用WHERE语句计算有多少行的更快查询?我在PHP中使用的当前查询是:$result=mysql_query("SELECTSQL_NO_CACHEidFROMusersWHEREuser='$tnuser'");$total=mysql_num_rows($result);表引擎是InnoDB,ID是主键,user是索引的。此查询每秒运行300次以上,因此任何性能提升都会很好。总计数一直在变化,用户经常被删除/添加。谢谢 最佳答案 通常使用SQL的聚合函数来统计一些东西会更快。例如,您可以尝试SELECTCOUNT(*)F