我是PHP和MySQL的新手。我正在試圖製作一個簡單的搜索表單,我希望根據表單中輸入的輸入文本顯示數據庫中的結果。 我的代碼是這樣的:MySQL查詢在使用php變量時不起作用where條款
form.php的
<!DOCTYPE html>
<html lang="en">
<html>
<head>
<title>test</title>
</head>
<body>
<form action="search.php" method="GET" id="form">
Name: <input type="text" name="name" >
Age:<input type="text" name="age">
Search<input type="submit" name="submit" id="Search" Value="Search">
</form>
</body>
</html>
Connect.php
<?php
$connect = mysql_connect('localhost','$user','$password');
if(!$connect){
die('Could not connect'.mysql_error());
}
$db_selected = mysql_select_db('test');
if(!$db_selected){
die('wrong'.mysql_error());
}
?>
的search.php
<?php
include("includes/connect.php");
$name=$_GET['name'];
echo $name;
$query = "SELECT * FROM `cats` WHERE name='\$name'";
$results= mysql_query($query);
if (!empty($results)){
echo "query successful" ;
exit;
}
$row=mysql_fetch_assoc($results);
echo "Age:".$row['age'];
echo "Name:".$row['name'];
?>
的echo $names
正確。OUPUTS結果也是如此echo "query successful"
。 然而
echo "Age:".$row['age'];
echo "Name:".$row['name'];
只能隨聲附和的字符串部分和查詢似乎並沒有取得任何結果。
我嘗試將mysql_fetch_asso
c更改爲mysql_fetch_array
,但它也沒有做任何事情。有誰能告訴我我在這裏做錯了什麼。我的數據庫表有兩列和兩行。
你爲什麼要逃避'$ name'! – Broncha 2013-02-26 19:38:41
另外,mysql函數現在已被棄用,現在是時候繼續使用PDO或mysqli了。 – webnoob 2013-02-26 19:41:01