2010-01-18 66 views
0

感谢您的帮助,我现在在我的数据库操作程序中添加,更新和删除函数。 但我在搜索mysql数据库中的记录时遇到困难。 请帮我纠正我的代码,如果您知道我可以用作参考的网站,请告诉我。谢谢,这里是我的搜索代码:如何使用php在mysql中搜索记录?

  <?php 
     $con = mysql_connect("localhost","root",""); 
     if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

     mysql_select_db("koro", $con); 

    mysql_query("UPDATE student 
    WHERE IDNUMBER ='$_POST[INAME]'"); 

    while ($row = mysql_fetch_array($query)) 
    { 
     $variable1=$row["IDNUMBER"]; 
     $variable2=$row["LNAME"]; 
     $variable3=$row["FNAME"]; 
     $variable3=$row["MNAME"]; 
     $variable3=$row["GRADEYR"]; 
     $variable3=$row["ADDRESS"]; 
      } 

     mysql_close($con); 

     ?> 

这里是我使用的html表单,我认为这是问题所在。我对如何将结果放入文本框没有任何想法。

回答

2

检查mysql_query的文档:它返回TRUE或FALSE的UPDATE查询。如果您需要新值,请按照UPDATE进行选择。

更重要的是,您的代码容易受到SQL injection的影响。最好的解决方案是从过时的mysql驱动程序切换到PDO

将数组解包为单独的变量(就像你这样做)是不必要的。这也是一个问题:注意你如何错误输入最后几个名字$variable3

此外,不要使用“or die”(除非在非常有限的情况下)。

+0

+1主张使用PDO。 – 2010-01-18 12:49:44

0
<?php 
     $con = mysql_connect('host','user','pass',db_name); 
     if (!$con) 
    { 
    echo ('Could not connect: ' . mysql_error()); 
    } 

     mysql_select_db("koro", $con); 

    $query=mysql_query("UPDATE student 
    WHERE IDNUMBER ='$_POST[INAME]'"); 

    while ($row = mysql_fetch_array($query)) 
    { 
     $var1=$row["IDNUMBER"]; 
     $var2=$row["LNAME"]; 
     $var3=$row["FNAME"]; 
     $var4=$row["MNAME"]; 
     $var5=$row["GRADEYR"]; 
     $var5=$row["ADDRESS"]; 
      } 

     mysql_close($con); 

     ?> 

不要在代码中使用die();,并定义要在查询中传递参数或写入查询的查询变量。有关更多信息,请查阅PHP官方网站或w3school上的文档。