我正在尝试一些非常简单的操作,但似乎没有用。我想创建一个名为db_conn()的函数,这样我就可以调用它来打开mysql数据库,而不必每次都进行新的调用。这是函数:
/**************************************
Open Database Connection Function.
***************************************/
/* Database Connection Settings */
$_SESSION['servername'] = "localhost";
$_SESSION['mysql_username'] = "abc123";
$_SESSION['mysql_password'] = "mypass";
$_SESSION['dbname'] = "dbname";
function db_conn() {
$conn = new mysqli($_SESSION['servername'], $_SESSION['mysql_username'], $_SESSION['mysql_password'], $_SESSION['dbname']);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
// Test if connection succeeded
if(mysqli_connect_errno()) {
die("Database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
}
}
该函数的示例调用并回显数据:
<?php
db_conn();
$sql = "SELECT id, region FROM tbl_region;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo '<td width="1"><label for="delete">
<input type="radio" name="region" id="region" value="'.$row["id"].'">
</label></td>';
echo '<td align="left" valign="top"><p>'.$row["region"].'</p></td></tr>';
}
}
?>
当我测试页面时,它会停在上面的代码,并且不会显示任何错误。有人可以告诉我db_conn函数在做什么错吗?
最佳答案
$conn
仅在函数db_conn()
内部可用,超出了范围。
如果启用错误报告并显示它们,您将注意到错误100%。
尽管有更好的方法来执行此操作,但是如果您想作为练习来做,则可以使函数将连接资源返回给调用方。
$conn=db_conn();
您的函数可以返回它
function db_conn() {
// body
return $conn;
}
关于php - DB Conn功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36231100/