草庐IT

mysqli-multi-query

全部标签

php - 如果 PDO 和 mysqli 不可用,使用 mysql_* 函数是否安全?

我有一个托管在共享主机上的网站。他们安装了php5.2.13。我知道SQL注入(inject)的漏洞,我想阻止它。所以我想使用PDO或mysqli来防止它。但是当我使用phpinfo();查看托管环境php设置信息时出现的问题,我发现PDO没有mysql驱动,里面也不支持mysqli。所以我想知道使用旧的mysql_*函数(以及类似mysql_real_escape_string的函数。我在SO上看过这个,但对我帮助不大。PreparedstatementspossiblewhenmysqliandPDOarenotavailable?更新:我忘了说大多数查询都很简单。没有使用表单,因

使用 mysql_query 函数和安全性的 PHP 参数化查询?

免责声明请原谅我的无知,我写C#已经超过12年了,我对.NET框架和OO编程非常熟悉,而且我在企业应用程序方面有很好的背景,但这是我的与PHP的第一次较量。问题好吧,所以我正在尝试弄清楚如何使用mysql_query函数发出prepare,但我无法将两者放在一起。现在我这样连接:mysql_connect('xxx.x.x.x:xxxx','x','x');mysql_select_db('x');这就是成功。现在,我想插入一些数据,所以我正在查看mysql_query函数,只是想不出如何发送一个参数化查询来防止SQL注入(inject)。我的代码目前看起来像这样:mysql_quer

php - $结果 = mysql_query()

我是php/mysql的新手,所以请原谅我的知识水平,如果我所做的已经过时,请随时指导我更好的方向。我正在从数据库中提取信息以填写登陆页面。布局从左侧的图像和右侧的标题开始。在这里,我使用查询来检索页面标题文本:效果很好,但现在我想在imgalt标签内复制标题文本。在alt标签内复制此查询信息的最佳方法是什么?是否有我可以为此使用的任何缩写代码,还是将此代码复制到alt标记内并运行两次更好?感谢您的任何见解! 最佳答案 正如评论所说,您正在使用已弃用的函数,但要回答您的问题,您应该声明一个变量来保存从数据库中检索到的值,以便您可以随

php - 使用 MySQLi 将行插入 MySQL 数据库

谁能找出错误:mysqli_query($connection,"INSERTINTOcomments(event_id,fulltext,date_posted)VALUES(5,'Hallo',430234)");连接已建立,但它并没有插入新行。include("../../connect.php");$event_id=intval($_GET["event_id"]);$fulltext=$_GET["fulltext"];$date=intval($_GET["date"]);mysqli_query($connection,"INSERTINTOcomments('even

mysql - Yii2 : How to write Mysql query to select records from two tables using left join

我有两张table想加入……即营地和城市。我已经为此用PHP编写了查询...但我想要Yii2格式的相同查询...请告诉我如何在yii2中编写此查询...??这是我的查询:SELECTDISTINCTcamps.city_id,camps.state_id,cities.city_namefromcampsLEFTJOINcitiesONcities.state_id=camps.state_idWHEREcamps.state_id=5ANDcamps.status='1'ORDERBYcities.city_nameASC 最佳答案

php - 从 mysqli 查询返回数组的多行

我的functions.php文件中有这个functiongetUserOrders($userId){global$conn;$query="SELECT*";$query.="FROMorders";$query.="WHEREuserid=".$userId."";$odrset=mysqli_query($conn,$query);while($odr=mysqli_fetch_assoc($odrset)){return$odr;}}我需要在我的orders.php文件中做的是显示特定字段及其来自返回的$odr数组的值,如该代码段所示$userId=sql_prep($_SE

mysql - 拉维尔 5 : How to dump SQL query?

Laravel5的内置解决方案在Laravel5+中,我们可以使用\DB::getQueryLog()来检索所有已执行的查询。因为,查询日志记录是一项广泛的操作并会导致性能问题,所以它在L5中默认被禁用,并且只推荐用于开发环境。我们可以使用\DB::enableQueryLog()方法启用查询日志记录,如[Laravel文档][1]中所述。内置解决方案中的问题DB::getQueryLog()函数很棒,但有时我们希望以平面SQL格式进行转储会更好,这样我们就可以在我们最喜欢的MySQL应用程序中复制/粘贴它像phpMyAdmin或Sqlyog来执行它并调试或优化它。所以,我需要一个辅助

php - mysqli prepared statement查询错误在哪里?

这个问题在这里已经有了答案:CanIparameterizethetablenameinapreparedstatement?(2个答案)关闭去年。我正在尝试创建一个mysqli准备语句,其中我将表从odbc连接的数据库导入到mysql数据库,我在106列宽表查询中遇到此错误。YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'?(ID,column1,column2,column3,column4,'atline1"当

MySQL 查询超时 : (70100): Query execution was interrupted

我想执行MySQL查询以删除所有Wp_posts表行,其中post_parent是Wp_posts行,post_type设置为产品;我也是INSERTINTOtemp(SELECTDISTINCTidFROMwp_postsWHEREpost_type="product")(插入4k行)DELETEFROMwp_postsWHEREpost_parentIN(SELECTtidFROMtemp)..大约100秒后,它返回ERROR1317(70100):Queryexecutionwasinterrupted是什么让这个查询如此缓慢? 最佳答案

PHP PDO : How long are prepared mysql queries cached?

如何利用准备好的语句来提高性能?我知道如果我把它放在一个循环中,这样的事情可能会有所帮助:SELECT`Name`FROM`Hobbits`WHERE`ID`=:ID;我读到过循环with准备好的语句比循环没有准备好的语句要快,但是否则准备好的语句会稍微降低性能。那么-这个循环有多大?如果我在代码的开头运行一个复杂的SQL查询,并在末尾使用一个不同的参数重复它——第二个查询会运行得更快吗?(我们为每个页面加载使用一个连接)。缓存查询是否有限制,所以我最好立即重复我的查询?使用完全相同的参数(重新加载页面或2个用户)执行整个脚本两次怎么样? 最佳答案