我有以下PHP代码,它应该获取列的“first”和“last”值,其中“id”匹配URL中的内容。例如,当网址为../Profile?id=1
时,会显示First: Bob Last: Doe
,因为Bob Doe
已附加到id of 1
。
我使用以下代码执行此操作:
session_start();
$id = $_GET['search'];
$dbhandle = mysql_connect("localhost", "SocialAdmin", "******")
or die("Unable to connect to MySQL");
$selected = mysql_select_db("socialdonuttesting",$dbhandle)
or die("Could not select database");
$result = mysql_query("SELECT * FROM users WHERE id = '$id'");
$first = $result['first'];
$last = $result['last'];
echo "First: $first Last: $last";
但出于某种原因,当我转到First: Last:
时,这只是显示../Profile?id=1
。有谁知道为什么?
答案 0 :(得分:3)
您没有获取结果。
$row = mysql_fetch_assoc($result);
echo $row['first'];
echo $row['last'];
答案 1 :(得分:1)
您需要http://php.net/manual/en/function.mysql-fetch-row.php
但是,删除mysql_用法并使用PDO
此外,在您的示例中,您很容易受到SQL注入攻击。
答案 2 :(得分:0)
你没有提取你的查询
试试这个
session_start();
$id = $_GET['search'];
$dbhandle = mysql_connect("localhost", "SocialAdmin", "******")
or die("Unable to connect to MySQL");
$selected = mysql_select_db("socialdonuttesting",$dbhandle)
or die("Could not select database");
$result = mysql_query("SELECT * FROM users WHERE id = '$id'");
while($row = mysql_fetch_array($result)){
$first = $row['first'];
$last = $row['last'];
echo "First: ". $first. " Last: ". $last ."</ br>"; }
答案 3 :(得分:0)
$result
是一种资源,您必须使用mysql_fetch_*
个函数。另外,我不建议您在SQL查询中使用*(例如,如果您将来更改表结构,结果将会搞砸。