草庐IT

MYSQLI_BOTH

全部标签

php - 动态绑定(bind)mysqli_stmt参数再绑定(bind)结果

我正在尝试动态绑定(bind)mysql_stmt参数并在关联数组中获取结果。我在StackOverflow上找到了这篇文章,其中Amber使用以下代码发布了一个答案:原帖:Howtomakeapropermysqliextensionclasswithpreparedstatements?“假设您实际上想要编写自己的版本(而不是利用其他答案建议的现有库之一——这些也是不错的选择)...这里有几个函数,您可能会发现检查它们很有用。第一个允许您将查询结果绑定(bind)到关联数组,第二个允许您传入两个数组,一个是有序的键数组,另一个是这些键的数据关联数组,并将该数据绑定(bind)到准备

php - 为什么我不能运行两个 mysqli 查询?第二个失败

这个问题在这里已经有了答案:Whattodowithmysqliproblems?Errorslikemysqli_fetch_array():Argument#1mustbeoftypemysqli_resultandsuch(1个回答)关闭3年前。是否可以像这样有两个mysqli查询?mysqli_query($dblink,"INSERTINTOimages(project_id,user_id,image_name,date_created,link_to_file,link_to_thumbnail,given_name)VALUES('$project_id','$user

php - While循环VS。 $sqlResult -> fetch_all(MYSQLI_ASSOC) ;

不太清楚为什么,但我今天已经多次看到这种情况。global$connection;$sql="SELECT*FROMtable";$result=$connection->query($sql);$rows=array();while($row=mysqli_fetch_assoc($result)){$rows[]=$row;}return$rows;为什么不直接使用fetch_all的内置函数global$connection;$sql="SELECT*FROMtable";$result=$connection->query($sql);return$result->fetch_

php - 在我的 php 网络服务器副本中启用 mysqli

正如这里所讨论的:mysqliworkswhenrundirectlybutnotwhenviajs-ajax我可能需要在我的网络服务器php副本中启用mysqli。它已在命令行中启用。我如何确定是否在特定的php副本中启用了mysqli,如果不是,我该如何安装?我的网络服务器运行的是Ubuntu14.04.2LTS。我现在尝试在我的php.ini文件中添加以下扩展:extension=mysqli.soextension=pdo_mysql.soextension=php_mysqli.so我试过分别运行它们,重新启动mysql和apache,运行sudophp5enmodmysql

php - 切换到 mysqli 是个好主意吗?

我正在考虑为我的所有php项目切换到mysqli。我的代码编写方式(我运行非常简单的网站并构建了我自己的基本框架,我在所有网站上都使用了该框架)修改函数和类应该不会有太多问题。但是,我只听说过关于准备好的语句的正面消息,除了一些关于可用的php函数的提示,最值得注意的是一段时间内缺少使用mysql_fetch_array的简单替代品。这听起来好得令人难以置信,所以我想知道是否有人可以强调使用准备好的语句的一些问题,例如速度和资源使用。 最佳答案 如果您习惯于将变量附加到查询字符串,那么为准备好的语句编程需要一些时间来适应。MySQL

php - mysqli_store_result() 实际上做了什么?

我想了解什么mysqli_store_result实际上呢?当我访问PHPManual的mysqli_store_result,我找到了定义mysqli_store_result—Transfersaresultsetfromthelastquery问题是它将结果集传输到哪里?实际上我得到了错误"Commandsoutofsync;youcan'trunthiscommandnow"在执行mysqli_multi_query之后但是当我使用以下方法时,错误消失了。mysqli_multi_query($connection,$query);do{mysqli_store_result(

php - mysqli_connect 与 mysqli_real_connect

我读了doumentation但我不完全理解其中的区别。连接对象在这方面有什么不同?我没有找到任何帖子。我理解错了。两者都不存在标志。为什么他们不添加标志作为mysqli_connect的一部分?有什么具体原因吗?我应该使用哪一个? 最佳答案 mysqli_real_connect()和mysqli_connect的不同之处在于mysqli_real_connect()接受比mysqli_connect更多的选项例如,我正在为我的Loadbalancer构建一个健康检查脚本,我想设置非常低的连接超时。现在必须使用以下方式设置连接超时

php - 动态预处理语句不好吗? (使用 php + mysqli)

我喜欢DynamicSQL的灵active,也喜欢PreparedStatements的安全性和改进的性能。所以我真正想要的是动态准备语句,这很麻烦,因为bind_param和bind_result接受“固定”数量的参数。所以我使用eval()语句来解决这个问题。但我觉得这是个坏主意。这是我的意思的示例代码//arrayofWHEREconditions$param=array('customer_id'=>1,'qty'=>'2');$stmt=$mysqli->stmt_init();$types='';$bindParam=array();$where='';$count=0;/

php - mysqli 准备语句和 mysqli_real_escape_string

这个问题在这里已经有了答案:Ismysql_real_escape_string()necessarywhenusingpreparedstatements?(1个回答)关闭12天前。我目前正在使用mysqliphp扩展。传统上我使用mysqli_real_escape_string来转义用户输入。不过,我正在考虑更改代码(希望步骤尽可能少)以使用准备好的语句。我想明确这一点-如果我使用准备好的语句来绑定(bind)我的所有变量,我可以确信sql注入(inject)是不可能的吗?(并完全放弃mysqli_real_escape_string?)谢谢

php - mysqli::multi_query 是否比多个单个查询更有效?

有人在回答中提出了MySQLimulti_query函数,声称它比循环执行3个单独的查询要好。我尝试用Google搜索一些答案,但没有真正满足我的好奇心,所以我希望你们能更好地了解使用它的原因,而不是节省几行代码。所以这就是我想知道的:multi_query在幕后做了什么?multi_query是否只是访问服务器x次并汇总结果?是否存在单个查询比多个查询更有效的情况?我知道每次为一百万项访问数据库3次并将其粉碎成一个巨大的对象不利于内存使用,但我知道它的存在必须有一个原因而且我也确信那里是应该避免的时候。我希望能更好地理解它,以便在需要时将其放入我的技巧包中。感谢您的宝贵时间!