我試圖學習,我卡住了。我不明白爲什麼這不起作用。如果我只是離開包含和刪除函數調用,並不包含數據庫連接在一個函數中它正常工作。PHP mysql_query錯誤
我在這裏失蹤的是什麼?
錯誤消息:
警告:請求mysql_query():提供的參數不是在/home3/badamsne/public_html/views/dogs.php一個有效的MySQL-Link的資源上線24 數據庫查詢失敗:
網頁代碼:在單獨的文件
<?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","[email protected]");
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());
}
}
?>
謝謝! Tom
我不能說如何,但你的$連接變量有問題。無論如何,PHP都會保留全局連接對象;也許你可以從mysql_query調用中刪除這個變量,因爲它是不需要的。 '$ result = mysql_query(「SELECT * FROM dogs」);' – zneak 2010-01-16 00:48:48
$連接沒有問題,它只是不在同一個範圍內;) – svens 2010-01-16 00:52:50
不要,使用mysql_ *接口。切換到mysqli或PDO。它在最新的PHP版本中已被棄用。 – 2017-06-05 01:43:58