我是 MySQLi 的新手,我不是PHP的专家。我现在正在使用 MySQLi 而不是PHP中的 MySQL 函数。
当我使用 MySQLi 最佳方法,并且易于处理。强>
在PHP中使用 MySQL 函数时,我经常这样做:
PHP脚本
// My PHP Script
include("includes/dbc.php"); // Include script with the database connection string
dbc.php 脚本如下所示:
<?php
$mySqlServer = "localhost";
$mySqlUser = "username";
$mySqlpwd = "password";
$mySqlDB = "database";
if ( !mysql_connect($mySqlServer, $mySqlUser, $mySqlpwd) ) {
$_SESSION["dberror"] = "Not able to connect to database SERVER.";
}
if ( !mysql_select_db( $mySqlDB ) ) {
$_SESSION["dberror"] = "Not able to select database.";
}
然后在我查询和 echo 结果的脚本中,我实际上调用了一个函数,它存储在 func中。 php 脚本。
func.php 脚本:
function getPeople($id) {
$sql = "SELECT * FROM table WHERE hid = '$id'";
$sqlResult = mysql_query($sql) or die(mysql_error());
return $sqlResult;
}
在回显数据的脚本中,它看起来像:
$data = getPeople($id);
while ($row = mysql_fetch_assoc($data)) {
echo "Firstname: " . $row['firstname'];
}
虽然我现在会使用 MySQLi ,但上述结构是否相同?
这就是我现在用 MySQLi 编辑我的PHP脚本文件的方式。
dbc.php 现在包含
// Create the object
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
// Check if able to connect to database
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
}
* function.php 文件包含
function getFewEventDetails() {
$sql = "SELECT * FROM iboevents WHERE visible = '1' LIMIT 1";
$rs = $conn->query($sql);
if($rs === false) {
trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->error, E_USER_ERROR);
} else {
$returned_rows = $rs->num_rows;
return $returned_rows;
}
}
但是当我调用此函数在另一个脚本文件中生成结果时,没有任何反应。