首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mysql更改为mysqli及其xampp版本

将mysql更改为mysqli及其xampp版本
EN

Stack Overflow用户
提问于 2017-02-03 07:52:33
回答 2查看 7.4K关注 0票数 0

如果我将代码从mysql更改为mysqli,是否也应该更改xampp版本?我的xampp版本是2.5.8。

因为在我更改它们之后,发生了许多错误,所有的错误都指向“mysqli”,例如:

代码语言:javascript
复制
  mysqli_prepare()
  mysqli_stmt_bind_param()
  mysqli_stmt_execute()
  mysqli_num_rows()

connection.php

代码语言:javascript
复制
<?php

session_start();
// *Peringatan jangan ubah fail ni..        
$dbhost = "localhost"; //server untuk test
$dbuser = "root"; //user MYSQL
$dbpass = ""; //password MYSQL
$db = "sukandb"; //nama database
//tapi bila masuk ke dalam server kena tukar ikut keadaan server

$conn = new mysqli ($dbhost, $dbuser, $dbpass, $db);

if($conn->connect_error){
  die("Connection failed : " . $conn->connect_error);
  }
?>

所有错误都在这个文件中: index.php

代码语言:javascript
复制
<?php
ob_start();
include("connection.php");
if($_SESSION['LoggedIn']): 
echo "Hello " .$_SESSION['nama'];
endif; 

$query = mysqli_prepare("SELECT * FROM daftar_pengguna WHERE noic = ? AND 
katalaluan = ?");
mysqli_stmt_bind_param($query, $_POST["noic"],md5($_POST["katalaluan"]));
mysqli_stmt_execute($query);

if(mysqli_num_rows($query) == 1)
{
$result = mysqli_fetch_assoc($query);
$_SESSION['userdetail']=$query;
$_SESSION['LoggedIn'] = true;
$_SESSION['nama'] = $result["nama"];
header("location:carianstatuspemohonresult.php");
exit;
 }
 else
  {
    echo "Salah nombor IC dan kata laluan";

}
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-03 08:53:01

您的mysqli_query()将在第一个参数上查找数据库连接:

代码语言:javascript
复制
$query = mysqli_prepare($conn, "SELECT userdetail, nama FROM daftar_pengguna WHERE noic = ? AND katalaluan = ?");

将绑定部分更改为

代码语言:javascript
复制
mysqli_stmt_bind_param($query, "ss", $_POST["noic"], md5($_POST["katalaluan"]));

然后得到结果:

代码语言:javascript
复制
mysqli_stmt_bind_result($query, $userdetail, $nama);
mysqli_stmt_fetch($query);

也请参考这里,以了解有关mysqli_*准备语句的更多信息。

还可以使用password_hash()更安全地存储密码。

票数 0
EN

Stack Overflow用户

发布于 2017-02-03 07:57:55

不,你不必改变你的xampp。一旦您使用PHP5,mysqli就会正常工作。

首先,您需要了解xampp,实际上xampp只不过是一堆、MySQLApache (但有更多的选项和服务器)。您需要检查XAMPP提供的PHP版本。要检查PHP版本,请转到XAMPP控制面板并运行shell,然后键入以下命令

代码语言:javascript
复制
php -v

如果您的PHP版本类似于5.*,那么您将从MySQL转到MySQLi

mysqli扩展用于使用MySQL版本4.1.13或更高版本,或5.0.7或更高版本。

mysqli扩展是在PHP版本5.0.0中引入的。PHP5.3.0版本中包含了MySQL本机驱动程序。

检查您的版本并决定是否更改。

更新:为语句提供$conn (准备方法)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42019299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档