查询字符串错误:未定义的索引:id

时间:2014-01-22 11:21:36

标签: php

我正在使用查询字符串代码。我想将一个页面的变量“获取”到另一个页面。

query1.php:

<?php
$konek = mysql_connect("localhost","root","") or die("Cannot connect to server");
mysql_select_db("test",$konek) or die("Cannot connect to the database");
$query = mysql_query("select * from persons where id='1'");
$row = mysql_fetch_array($query);
$q= $row['details'];
?>

<a href='query_1.php?id=" . $q . "'>aa</a>

query_1.php:

<?php
//$ab=1;

//if(isset($_GET['id'])) 
$ab= $_GET['id'];
echo $ab;
?>

上面的代码没有运行并给出错误:

注意:未定义索引:id

我不知道我错过了什么。 所以,有些人可以帮助我解决我的错误......

6 个答案:

答案 0 :(得分:5)

HTML不会理解您正在使用PHP变量

<a href='query_1.php?id="<?php echo $q; ?>"'>aa</a>

警告: Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:1)

你不能在没有php标签的情况下在html中使用php变量。 替换这个:

<a href='query_1.php?id=" . $q . "'>aa</a>

由此:

<a href="query_1.php?id=<?php echo $q; ?>">aa</a>

答案 2 :(得分:1)

问题是在$q标记中传递了<a>。这样做:

<a href='query_1.php?id=<?php echo $q;?>'>aa</a>

答案 3 :(得分:1)

您只需回显变量:

<a href='query_1.php?id="<?php echo $q; ?>"'>aa</a>

和你的完成:))

将来更好地使用mysqli的面向对象形式。

答案 4 :(得分:0)

只是一个猜测,但mysql_fetch_array()检索整个数组。您只需要一个结果,应该使用mysql_fetch_row()来检索。

答案 5 :(得分:0)

尝试使用mysqli,因为mysql是deprecated