草庐IT

MYSQLI_BOTH

全部标签

php - MySQLI 准备语句 : num_rows & fetch_assoc

下面是一些写得不好且被严重误解的PHP代码,没有错误检查。老实说,我在PHP->MySQLi函数的迷宫中有点挣扎!有人可以提供一个示例,说明如何使用准备好的语句在关联数组中收集结果,同时还从$stmt获取行数吗?下面的代码是我正在玩的。我认为让我失望的一点是在store_result之后使用$stmt值,然后尝试收集一个assoc数组,我不太确定为什么...$mysqli=mysqli_connect($config['host'],$config['user'],$config['pass'],$config['db']);$stmt=$mysqli->prepare("SELECT

PHP/mysqli - 准备语句(在循环中)或 multi_query

我刚刚从使用mysql转向使用PHP中的mysqli扩展。我遇到过两种做同一件事的方法(多个更新查询),每种方法的优缺点是什么?我应该使用其中之一还是完全使用其他东西?循环中的准备语句://preparestatementforeach(whatever){//executestatement}或多查询:foreach(whatever){//buildmanyqueriesintoasinglestring}multi_query(longstring)我知道准备好的语句提供更好的安全性。在PHP中使用mysql时,我听说最好避免在循环中使用UPDATE语句-在循环中执行mysqli

php - mysqli MariaDB 的 header 和客户端库次要版本不匹配

我有这个版本的标题:PHPVersion5.4.4-14+deb7u5ClientAPIheaderversion5.5.31我收到这条消息:警告:mysqli::mysqli():header和客户端库次要版本不匹配。标题:50531图书馆:100004我认为原因是版本不匹配,如何重新编译PHP以匹配mysqli的版本?我正在使用mariadbClientAPIlibraryversion10.0.4-MariaDB谢谢! 最佳答案 当我最近将我的ubuntu服务器升级到13.04时我遇到了同样的问题无论如何这只是来自libmys

php - bindParam() 中的 Mysqli 准备语句不起作用

就像往常一样,我正在寻找PHP的最佳实践,准备好的语句似乎是我现在应该闭着眼睛做的事情。所以我开始研究我发现的一些例子。运行脚本时出现此错误:Fatalerror:CalltoamemberfunctionbindParam()onanon-objectin/opt/lampp/htdocs/phpSecurity/PreparedStatments/Insert-Multi-Binded-Params/InsertSimpleMethod.phponline10这是代码。插入SimpleMethod.phpprepare("INSERTINTOcoisas(nome,telefone

php - 调用未定义函数 mysqli_result::num_rows()

我正在尝试计算结果中的行数,但我不断收到上述返回错误。我已经检查了手册,并且我正在使用mysqli_result::num_rows()作为我应该使用的(我正在使用面向对象的风格。)我在这里工作了三个类。类(连接):classutils_MysqlImprovedConnection{protected$_connection;publicfunction__construct($host,$user,$pwd,$db){$this->_connection=@newmysqli($host,$user,$pwd,$db);if(mysqli_connect_errno()){thro

PHP PDO 与普通 mysqli 速度性能基准

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在从事一个关于社交网站的项目,其中速度优化非常关键。PDO更快吗?我正在考虑切换到PDO,是否建议将PDO用于此类网站?

php - longtext 字段上准备好的 mysqli select 语句返回为空

我有一个运行良好的数据库查询函数——除了我遇到了mysqli准备语句和长文本字段的明显已知问题。发生的情况是,即使通过phpMyAdmin运行查询工作正常,长文本字段始终为空。根据http://www.workinginboxershorts.com/php-mysqli-returns-empty-variables-from-longtext-column,将数据类型切换为文本即可解决问题。但是,在我的情况下,我真的更愿意将该字段保留为长文本,因为我可以预见到额外空间会很有值(value)的时候。我正在使用参数化查询,这显然是问题所在。这是我的功能://Bindresultstoa

php - mysqli_connect() : (HY000/2002): No connection could be made because the target machine actively refused it

我知道有很多这样的问题,但我没有找到任何解决方案。我尝试过的事情:-检查防火墙重新启动我的PC和Apache服务器重启MYSQL检查我的代码尝试了我所知道的和在互联网上找到的一切这是我的代码:-我确实设置了密码,但它仍然显示错误。这是防火墙图片:-最后,XAMMP正在运行,这就是证明 最佳答案 如果您查看XAMPP控制面板,它清楚地表明MySQL服务器的端口是3306-您提供了3360。3306是默认值,因此不需要指定。尽管如此,mysqli_connect()的第5个参数是端口,这是应该指定的地​​方。您可以完全删除端口规范,因为

php - mysqli bind_param 中的NULL 是什么类型?

如果该变量存在,我试图将参数绑定(bind)到INSERTINTOMySQLi准备语句,否则插入null。然后我知道typevariableicorrespondingvariablehastypeintegerdcorrespondingvariablehastypedoublescorrespondingvariablehastypestringbcorrespondingvariableisablobandwillbesentinpackets但是当我插入一个变量=null时,我如何定义变量的类型?或者我应该定义类型是''? 最佳答案

mysqli_stmt_bind_result 上的 PHP 怪异段错误

将PHP脚本从PHP5.2迁移到PHP5.3时,我遇到了以下问题:该脚本的一般用途是数据挖掘。我有一个向MySQL服务器添加数据的程序。因为它确实是重复的,所以我(不久前)重写了它以使用MySQLi,特别是准备好的语句,因为总共有3个可能的查询要执行。无论如何,现在,在PHP5.3服务器上,脚本在以下行崩溃:mysqli_stmt_bind_result($prepCheck,$id1);其中$prepCheck是使用$prepCheck=mysqli_prepare($con,$checkQuery)ordie("Error");创建的。查询在MySQL服务器上运行良好(即$chec