
$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)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)