草庐IT

mysqli_poll

全部标签

php - MySQLi 和 PDO 有什么区别?

我最近开始学习PHP。我开始知道有很多变化,SQL现在被避免了,被MySQLi取代了。,但后来我开始了解PDO。我浏览了很多关于这两个主题的帖子,但每个人都有自己的看法,我很困惑。很多帖子说MySQLi支持面向过程和面向对象的方法,而PDO只支持面向对象的方法。我想知道的是:这两个(PDO和MySQLi)只是做同一件事的两种不同方式还是彼此不同?如果它们只是做同一件事的两种不同方法,那么它们之间有什么区别,哪种方法更好?如果学习MySQLi,面向对象和面向过程哪个更好?对于某些人来说,这似乎是一个宽泛的问题,但如果有人能对这三个问题给出具体的答案,我将不胜感激。

php - 从 php mysql* 到 mysqli

很多人一直告诉我克服mysql_*并进入mysqli或PDO。一开始我选择了Mysqli,因为它看起来非常相似。但是,我在转换网站时遇到了问题。我似乎找不到像这样获取数据的等价物:mysql_result($result,$i,'COL2')下面的代码是现在的样子,但是我似乎无法像使用mysql_*那样找到获取数据的方法。我是这样做的:Dereringenprodukteratvise';break;}echo''.mysql_result($result,$i,'COL20').'point'.mysql_result($result,$i,'COL2').'Varenr.:'.my

php - 更新 WordPress 以使用 mysqli 而不是 mysql

我正在更新一个旧网站,该网站有最新版本的WordPress,运行着一些集成的纯PHP代码。PHP代码使用旧的mysql_函数来运行数据库查询,因为我要将PHP版本升级到5.6,所以我必须摆脱那些。我一开始只是简单地将mysql_替换为mysqli_,然而,这会导致以下问题。如果您有一个以前有效的查询:mysql_query("SELECT...");现在它抛出错误,因为mysqli_query("SELECT...")期望第一个参数是与数据库的连接。我能想到的解决方案之一是到处使用$wpdb而不是普通的mysql函数,但是,该代码有数千个查询,替换所有查询结果是有点问题,因为mysql

php - 将 mysql_field_flags 转换为 mysqli

我正在尝试将模块从mysql转换为mysqli。在某一时刻,模块使用函数:mysql_field_flags($fields,$n)这会返回一串标志,例如:“not_null”、“primary_key”、“unique_key”等。返回相同值的mysqli函数是什么?因为mysqli_fetch_field_direct($fields,$n)->flags只返回一个整数而不是字段名。 最佳答案 事实上,它确实返回一个整数,它是标志的位掩码。您可以将其与predefinedconstants一起使用(那些名为*_FLAG的):$f

php - 我应该用 is_resource 还是 mysqli_ping 检查 MySQL 连接?

我应该使用is_resource还是mysqli_ping检查MySQL连接?为什么?if(!mysql_ping($mysqli)){$mysqli=newmysqli($db_host,$db_username,$db_password,$db_name);}if(!is_resource($mysqli)){$mysqli=newmysqli($db_host,$db_username,$db_password,$db_name);} 最佳答案 is_resource($mysqli)不将MySQLi资源报告为有效资源类型。M

php - 参数数组MySQLi的动态绑定(bind)

我正在为我的网站构建一个搜索功能,用户可以使用3个参数进行搜索。用户可以选择输入所有3个来过滤表格,或者根本不输入并接收整个表格。我弄清楚了如何根据用户输入的内容动态构建查询,但我无法使用正确数量的参数和正确的顺序调用bind_params()。代码:$sql="SELECTposition,rank,fullname,phonenumber,email,divisionFROM`table`WHERE1=1";if(!empty($_POST['fname'])){$firstname=$_POST['fname'];$sql.="AND`fullname`LIKE'%?%'";}i

php - 构建 mysqli 查询?

如果我有查询selectusers.user_id,users.fname,users.lname,bios.bio,groups.groupidfromusersLEFTJOINbiosonusers.user_id=bios.userid然后我想根据条件添加另一个表,然后在末尾添加一个where语句。问题是因为当我绑定(bind)参数时它说“变量数与准备语句中的变量数不匹配”。我将如何解决这个问题?干杯。示例:$info="selectusers.user_id,users.fname,users.lname,bios.bio,groups.groupidfromusersLEFT

php - Mysqli 总是返回连接成功

在我所有的php页面上,我都包含了以下数据库连接代码无论我做什么(例如输入错误的密码或输入错误的文件路径),它总是回显“成功”。我已经尝试使用try/catch来处理错误,在新的mysqli前面放置一个@,使用面向对象的If($mysqli->connect_error)。我做什么都不会返回失败当我放echo'Success...'.$mysqli->host_info."\n";我得到的不是echosuccessSuccess...LocalhostviaUNIXsocket谁能告诉我为什么我总是收到这个虚假的成功消息?编辑:我最终要寻找的不是我用于开发的每条php错误消息(即ini

PHP Pthreads - 使用 mysqli

我第一次尝试在我的Web应用程序中使用pthreads。我有pthreads为简单的测试用例工作,但是我无法让pthreads中的mysql查询工作。这是我的php文件:classSqlThreadextendsThread{private$dbc;public$log;public$return;publicfunction__construct(){$this->dbc=mysqli_connect("localhost","root","rootpassword","my_database");$this->log="(".__LINE__.")constructfinished

php - 成功插入单行后 $mysqli->info 为空

在使用单个插入语句插入多行后,我从$mysqli->info得到了预期的行为。var_dump($mysqli->info);string'Records:1246Duplicates:0Warnings:0'(length=41)插入一行后,$mysqli->info返回NULLvar_dump($mysqli->info);nullvar_dump($mysqli->affected_rows);int1mysqli_info()返回空字符串var_dump(mysqli_info($mysqli))string''(length=0)我找不到任何关于此行为的引用资料!我希望在像这