草庐IT

mysqli_stmt_bind_param

全部标签

php - 警告:PDOStatement::execute(): SQLSTATE[HY093]: 参数编号无效:绑定(bind)变量的数量与中的标记数量不匹配

我正在使用PHPPDO,但遇到以下问题:Warning:PDOStatement::execute():SQLSTATE[HY093]:Invalidparameternumber:numberofboundvariablesdoesnotmatchnumberoftokensin/var/www/site/classes/enterprise.phponline63这是我的代码:publicfunctiongetCompaniesByCity(City$city,$options=null){$database=Connection::getConnection();if(empty

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 - PDO 不抛出未绑定(bind)参数的异常(并且查询中没有变量)

所以我不知道这里发生了什么$link=newPDO('pgsql:dbname='.$name.';host='.$host,$user,$password);$link->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);$link->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);try{$stmt=$link->prepare("SELECTs.*,d.invalid_columnFROMstudentssORDERBYs.student_id");$stmt->execut

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 - 为什么后期静态绑定(bind)不适用于 PHP 5.3 中的变量?

让我们从一些代码开始:classSuper{protectedstatic$color;publicstaticfunctionsetColor($color){self::$color=$color;}publicstaticfunctiongetColor(){returnself::$color;}}classChildAextendsSuper{}classChildBextendsSuper{}ChildA::setColor('red');ChildB::setColor('green');echoChildA::getColor();echoChildB::getColo

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 - bind_param() 有什么作用?

$resultSpendStmt=$connection->prepare(...);$array->bind_param("sdidi",$A,$B,$C,$D,$E);$array->execute();$array->store_result();$array->bind_result($F,$G,$H,$I,$J,$K);我仍然有点不确定bind_param的作用。谁能举例说明什么是means? 最佳答案 当您准备SQL语句时,您可以在列值所在的位置插入一个占位符(?),然后使用bind_param()来安全将该占位符替换为

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个参数是端口,这是应该指定的地​​方。您可以完全删除端口规范,因为