[英]PHP mysql_query error
我正在努力學習而且我被卡住了。 我不明白為什么這不起作用。 如果我只是離開include並刪除函數調用並且不將數據庫連接包裝在函數中它可以正常工作。
我在這里失蹤的是什么?
錯誤信息:
警告:mysql_query():提供的參數不是第24行/home3/badamsne/public_html/views/dogs.php中有效的MySQL-Link資源數據庫查詢失敗:
網頁代碼:
<?php
include("../model/db_conn.php");
db_conn();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
// 3. Perform database query
$result = mysql_query("SELECT * FROM dogs", $connection);
if(!$result) {
die("Database query failed: " . mysql_error());
}
// 4. Use returned data
while ($row = mysql_fetch_array($result)) {
echo $row[0]." ".$row[1]."<br />";
}
?>
</body>
</html>
<?php
// 5. Close connection
mysql_close($connection);
?>
PHP函數在單獨的文件中:
<?php
function db_conn() {
// 1. Create database connection
$connection = mysql_connect("localhost","website_admin","p@ssw0rd");
if(!$connection) {
die("Database connection failed: " . mysql_error());
}
// 2. Select a database to use
$db_select = mysql_select_db("website_db", $connection);
if(!$db_select) {
die("Database selection failed: " . mysql_error());
}
}
?>
謝謝! 湯姆
你永遠不會從你的函數返回$ connection,也不會將它作為頂部文件中的變量捕獲。
改變這個:
<?php
include("../model/db_conn.php");
db_conn();
?>
對此:
<?php
include("../model/db_conn.php");
$connection = db_conn();
?>
並添加
return $connection;
你的功能。
你的問題是,$ connection變量不是全局變量。 這意味着它只在函數db_conn()的上下文中“可見”而不是在主程序中。
您的問題有三種簡單的解決方案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.