怎样使用mysqli连接mysql数据库

怎样使用mysqli连接mysql数据库,第1张

<?php

$dbhost ="127.0.0.1"

$dbuser = "root"

$dbpwd = "root"

$dbname = "test"

$charName = "'UTF8'" //设置查询字符集gbk,gbk2312,utf-8

$mysqli = new  mysqli($dbhost,$dbuser,$dbpwd,$dbname)

if (mysqli_connect_errno()){ //注意mysqli_connect_error()新特性

die('Unable to connect!'). mysqli_connect_error()

}

$sql = "SET NAMES ".$charName

$mysqli->query($sql)

$result=$mysqli->query("select * from tttt order by id  //根据前面的计算出开始的记录和记录数

while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){

$htmlstr.=$row['id']." </br>"

echo   $htmlstr

首先两个函数都是用来处理DB 的。

首先, mysqli 连接是永久连接,而mysql是非永久连接(错!错!错!)。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。

其次,mysqli封装了诸如事务等一些高级 *** 作,同时封装了DB *** 作过程中的很多可用的方法。具体查看 http://cn.php.net/mysqli

应用比较多的地方是 mysqli的事务。

比如下面的示例:

$mysqli = new mysqli('localhost','root','','DB_Lib2Test')

$mysqli->autocommit(false)//开始事物

$mysqli->query($sql1)

$mysqli->query($sql2)

if(!$mysqli->errno){

$mysqli->commit()

echo 'ok'

}else{

echo 'err'

$mysqli->rollback()

}

注意:

“mysqli 连接是永久连接,而mysql是非永久连接” 这个观点是错误的。

php手册上讲:php5.3中的mysqli才引入了持久连接,并且php5.3没有提供一个额外的函数来实现,需要在连接参数的hostname,前面加上“p:”标记,才会建立持久连接。

Persistent connection support was introduced in PHP 5.3 for the mysqli extension. Support was already present in PDO MYSQL and ext/mysql.

Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.

你可以用 对象,new mysql

<?php

$servername = "localhost"

$username = "username"

$password = "password"

$dbname = "myDB"

 

// 创建连接

$conn = new mysqli($servername, $username, $password, $dbname)

// Check connection

if ($conn->connect_error) {

    die("连接失败: " . $conn->connect_error)

 

$sql = "SELECT id, firstname, lastname FROM MyGuests"

$result = $conn->query($sql)

 

if ($result->num_rows > 0) {

    // 输出数据

    while($row = $result->fetch_assoc()) {

        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"

    }

} else {

    echo "0 结果"

}

$conn->close()

?> <?php

$servername = "localhost"

$username = "username"

$password = "password"

$dbname = "myDB"

 

// 创建连接

$conn = mysqli_connect($servername, $username, $password, $dbname)

// Check connection

if (!$conn) {

    die("连接失败: " . mysqli_connect_error())

}

 

$sql = "SELECT id, firstname, lastname FROM MyGuests"

$result = mysqli_query($conn, $sql)

 

if (mysqli_num_rows($result) > 0) {

    // 输出数据

    while($row = mysqli_fetch_assoc($result)) {

        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"

    }

} else {

    echo "0 结果"

}

 

mysqli_close($conn)

?>

还有,mysql和mysqli使用上很大区别,比如:

mysqli_query($conn, $sql)和mysql_query($sql)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8548218.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存