Tag: mysqli

如何显示我的MySQLi查询的错误?

我正在使用以下脚本来处理表单以将信息添加到我的网站。 我遇到的问题是当我提交表单没有提交到数据库,并没有错误。 如何将错误报告添加到我的查询? <?php if (isset($_POST['itemdescription'])) {$itemdescription = $_POST['itemdescription'];}else {$itemdescription = '';} if (isset($_POST['itemnumber'])) {$itemnumber = $_POST['itemnumber'];}else {$itemnumber = '';} if (isset($_POST['sellerid'])) {$sellerid = $_POST['sellerid'];}else {$sellerid = '';} if (isset($_POST['purchasedate'])) {$purchasedatepre = $_POST['purchasedate'];$date = DateTime::createFromFormat("DF d, Y", $purchasedatepre);$purchasedate = date('Ym-d',strtotime($purchasedatepre));}else {$purchasedatepre = ''; $purchasedate = '';} if (isset($_POST['otherinfo'])) {$otherinfo = $_POST['otherinfo'];}else {$otherinfo = '';} if […]

PHP PDO和MySQLi

我刚刚在PHP中完成了一个介绍课程,并且在整个stackoverflow论坛上,人们都build议我切换到PDO,准备好语句或MYSQLi,我简要地检查了一下手册,但是大部分内容都在我的头上。 我一直在使用mysql_ *函数,所以这些概念对我来说是新的。 我认为他们是用来访问和执行数据库的具体行动,但我不知道。 那么PDO,准备好的语句和MySQLi之间有什么区别,它们是完成相同任务的不同function呢? 它们在脚本中是兼容的还是“select其中一个”? 最后哪个提供了最好的性能? 更新:感谢您的答案,我会寻找更多的PDO教程。 作为参考,我还发现以下职位有用: 哪一个是快速和轻 – mysqli或PDO mysqli或PDO – 有什么优点和缺点?

mysqli fetch_all()不是一个有效的函数?

感谢我的答案,我发现我无法使用fetch_all()因为我使用PHP 5.2.17 – fetch_assoc while循环工作。 我正在使用fetch_all的函数返回这个错误: 致命错误:调用未定义的方法mysqli_result :: fetch_all()中 $mysqli = new mysqli($host, $username, $password, $database); $query = "LONG QUERY that works, tested in phpmyadmin" $result = $mysqli->query($query); $result->fetch_all(); or $mysqli->fetch_all() tried both mysqli_fetch_all() was already tried. $mysqli->close(); 我能够连接到数据库,我已经拉单行。 当我把查询放在PHPMYADMIN中时,我得到5行。 这个function是否工作? 有没有一种方法可以将我的数据放置在我自己的assoc数组中?

MySQLi编写语句错误报告

我试图让我的头在MySQli周围,我很困惑的错误报告。 我正在使用MySQLi'prepare'语句的返回值来检测执行SQL时的错误,如下所示: $stmt_test = $mysqliDatabaseConnection->stmt_init(); if($stmt_test->prepare("INSERT INTO testtable VALUES (23,44,56)")) { $stmt_test->execute(); $stmt_test->close(); } else echo("Statement failed: ". $stmt_test->error . "<br>"); 但是,准备语句的返回值只是检测SQL语句的准备中是否存在错误,并且没有检测到执行错误? 如果是这样,我应该改变我的执行线标记错误,就像这样: if($stmt_test->execute()) $errorflag=true; 然后为了安全起见,我也应该在声明执行后做以下事情: if($stmt_test->errno) {$errorflag=true;} …或者我可以开始,并且MySQLi prepare语句的返回值捕获与它定义的查询的完整执行相关的所有错误。 谢谢C

如何使用bind_result与get_result的示例

我想看一个如何使用bind_result和get_result调用的例子,以及使用另一个的目的是什么。 也使用每个的亲和好。 什么是使用的限制,是否有区别。

哪一个在PHP中是最快的?MySQL或MySQLi?

我想知道有没有人有这种二分法的第一手经验。 一些博客说mysql的扩展比mysqli快。 这是真的? 而我只是在问速度。 我知道mysqli具有旧版本中不存在的function。

致命错误:未find类“MySQLi”

我正在做一个教程,并得到这个错误: 致命错误:在第8行找不到类'MySQLi'(LONG URL) 第8行的代码是: $mysqli = new MySQLi($db_server, $db_user, $db_pass, $db_name) or die(mysqli_error()); 我在网上看到有人说是否在我的phpinfo()中打开了它,但是没有列出“mysqli”的内容。 另外,我正在运行PHP版本5.2.5

如何在Laravel中使用多个数据库

我想在我的系统中结合多个数据库。 大部分时间数据库是MySQL; 但是将来可能会有所不同,也就是说Admin可以生成这样的报告,这是异构数据库系统的使用来源 。 所以我的问题是Laravel提供了任何Facade来处理这种情况? 还是其他的框架有更适合的问题是?

无法在给定的上下文中返回结果集

当我尝试在发送结果集的mysql中调用存储过程时,它总是说我“在给定的上下文中不能返回结果集”。 我有谷歌它,有人说这是MySQL的错误,有人说你应该改变你的mysqli驱动程序和…. 情况: 使用mysqli驱动程序客户端API库版本5.0.51a,PHP版本5.2.4-2ubuntu5.6,使用Zend 1.9 RC 1个Mysqli适配器。 我该怎么办!?

在准备的语句中使用通配符 – MySQLi

我正在尝试运行以下查询,并且遇到了通配符问题。 function getStudents() { global $db; $users = array(); $query = $db->prepare("SELECT id, adminRights FROM users WHERE classes LIKE ? && adminRights='student'"); $query->bind_param('s', '%' . $this->className . '%'); $query->execute(); $query->bind_result($uid, $adminRights); while ($query->fetch()) { if (isset($adminRights[$this->className]) && $adminRights[$this->className] == 'student') $users[] = $uid; } $query->close(); return $users; } 我收到一个错误,指出:不能通过引用传递参数2。 我需要使用通配符的原因是列的数据包含序列化数组。 我想,如果有更简单的方法来处理这个问题,我该怎么办? 提前致谢!