草庐IT

mysqli_stmt

全部标签

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

php - Mysqli语句的 `close()`方法是什么?

有人能告诉我,当你更新、插入、删除......然后你应该像mysqli_stmt::close();那样关闭它吗??我查看了PHP手册,但不明白close()的实际作用。例子:$stmt=$dbh->prepare("SELECT`user_email`FROM`users`WHERE`user_email`=?LIMIT1");$stmt->execute(array($email));$stmt->close();我的问题的下一部分是,例如,如果我在transaction中的每个execute()之后对我在transaction我应该单独关闭它们吗?...因为这是一个交易,我不确定

php - mysqli_select_db() 期望参数 1 为 mysqli,给定的字符串

我是Mysqli_*的新手,我遇到了这些错误:Warning:mysqli_select_db()expectsparameter1tobemysqli,stringgiveninD:\Hosting\9864230\html\includes\connection.phponline11Warning:mysqli_error()expectsexactly1parameter,0giveninD:\Hosting\9864230\html\includes\connection.phponline13数据库选择失败: 最佳答案

php - 为什么 MySQLi 库本身不支持命名参数?

来自http://php.net/manual/en/mysqli.quickstart.prepared-statements.php的正确MySQLi参数化查询语法:$stmt=$mysqli->prepare("INSERTINTOtest(id)VALUES(?)");$stmt->bind_param("i",$id);但绝不是这样的:$stmt=$mysqli->prepare("INSERTINTOtest(id)VALUES(:id_value)");$stmt->bind_param("i","id_value",$id);在我看来,命名参数替换是在API级别实现的合

PHP启动无法加载动态库/usr/lib/php/20151012/php_mysqli.dll

我有ubuntu14.04EC2实例。我已经在上面安装了php7。当我执行任何php命令,如php--version或任何其他命令时。我收到以下错误PHPWarning:PHPStartup:Unabletoloaddynamiclibrary'/usr/lib/php/20151012/php_mysqli.dll'-/usr/lib/php/20151012/php_mysqli.dll:cannotopensharedobjectfile:NosuchfileordirectoryinUnknownonline0我试过跟随在php.ini中启用php_mysqli.dll启用my

php - 有什么方法可以打印 mysqli->execute() 进行的实际查询吗?

我有一个像这样执行的复杂查询:if($stmt=$dbi->prepare($pt_query)){$stmt->bind_param('ssssssssi',$snome,$scognome,$ssocieta,$svia,$slocalita,$sprovincia,$scap,$stelefono,$sfax,$uid);$stmt->execute();echo$dbi->error;$stmt->close();}else{printf("Error->%s\n",$dbi->error);}这件事没有任何错误地失败了,它只是没有更新数据库。由于在此之前要处理大量数据,我想知

php - MySQLi 中的参数

我正在将PHP与MySQLi结合使用,我遇到了类似这样的查询SELECT$fieldsFROM$tableWHERE$this=$thatAND$this2=$that2到目前为止,我已经编写了一些代码来拼接我给它的数组,例如:$search=array(name=michael,age=20)//turnsintoSELECT$fieldsFROM$tableWHEREname=michaelANDage=20有没有更有效的方法来做到这一点?我很担心MySQL注入(inject)-这似乎非常脆弱。谢谢! 最佳答案 奇怪的是,您问题