最近刚刚学php和mysql,我想通过链接传送表单的值,在处理页接受这个值,根据这个值在数据库中查找,并显示查找的信息,下面是我的代码:
第一个文件:1.php
<html>
<body>
<a href="123.php?name=<?php echo "liupeng";?>">name为liupeng的行</a>
</body>
</html>
第二个文件:123.php
<?php
$getname=$_GET[name];
$conn=mysql_connect("localhost","root","");
mysql_select_db("test",$conn);
$result=mysql_query("select * from test where name=".$getname);
$row=mysql_fetch_array($result));//提示此行有错误
echo $row['id']."  ".$row['name'];
mysql_close($conn);
?>
我的数据库设计很简单,数据库名叫test,表名也叫test,只有id和name两列,并且已经添加了一行name值为liupeng的信息,但是当我在浏览器打开的时候,提示第二个文件:parse error in D:\xampp\htdocs\test\123.php on line 6
请问问题出在哪里?还有我的代码写的是否规范,应该怎样写?谢谢大家了!

解决方案 »

  1.   

    $getname=$_GET[name];
    ---->
    $getname=$_GET["name"];
      

  2.   

    $result=mysql_query("select * from test where name=".$getname);
    --->
    $result=mysql_query("select * from test where name='".$getname."'");
      

  3.   

    $getname=$_GET[name]; 
    应该写成:
    $getname=$_GET["name"]; 
    $result=mysql_query("select * from test where name=".$getname); 
    应该写成:
    $result=mysql_query("select * from test where name='".$getname."'"); 
      

  4.   

    sql里面的文本必须是带单引号的所以name='".$getname."'"其实你应该这样写 mysql_query("select * from test where name='$getname'")而$getname=$_GET[name]; 这个是可以的
    因为 name 这样写 PHP就解释为常量,如果这个常量没有 被声明 就会采用自身的值 也就是 'name' 的
      

  5.   

    $sql = "select *from test where name =".$getname;
    $result=mysql_query($sql);
    这样试一下```我也初学``` 
      

  6.   


    或者:$result=mysql_query("select * from test where name='$getname'"); 
      

  7.   

    第6行
    $row=mysql_fetch_array($result));//提示此行有错误
    多了一个“)”,你没注意到吗?
    parse error ....
    出现这样的错误提示,只能说明程序书写有误,无法通过编译