1

基本上在设置网页时遇到问题,该网页将接收用户输入的学生密钥。然后,这会将学生密钥解析到另一个文件,该文件将针对 mysql 后端运行它,以查看该学生已经拥有的记录。但是不能让它为我的生活工作请帮助我仍然是新手。

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

  mysql_select_db("support_log", $con);


  $result= mysql_query("SELECT student.first_name, student.surname, student.year_group, student.STKEY, student_log.issue
        FROM `student` JOIN `student_log`
        WHERE student.STKEY like '$_POST[stkey]'");

  $result2 = mysql_query($result) or die("Error: " . mysql_error()); 
  if(mysql_num_rows($result2) == 0){ 
  echo("no records found"); 
  } ELSE { 

    echo "<table border='1'>
    <tr>
    <th>First name</th>
    <th>Surname</th>
    <th>Year Group</th>
    <th>Student Key</th>
    <th>Issue</th>
    </tr>";

    while($row = mysql_fetch_array($result2))
    {
    echo "<tr>";
    echo "<td>" . $row['First_Name'] . "</td>";
    echo "<td>" . $row['surname'] . "</td>";
    echo "<td>" . $row['year_group'] . "</td>";
    echo "<td>" . $row['stkey'] . "</td>";
    echo "<td>" . $row['issue'] . "</td>";
    echo "</tr>";
    }
    echo "</table>";
  }
  mysql_close($con);
?>

将我的 where 语句更改为:

  WHERE student.STKEY like '$_POST[stkey]'");

我不再从 PHP 接收错误,但现在收到错误查询为空,这是我的代码的一部分,用于检测是否没有结果。虽然我已经在 phpmyadmin 中测试了该查询,但它会吐出结果。通过查看代码,有人有任何解决方案吗?我还通过在 post 命令上运行 echo 来检查解析,以确保输入的数据是正确的。

编辑:摆脱了现在抛出的整个 result2 检查:警告:mysql_fetch_array() 期望参数 1 是资源,在第 24 行的 C:\wamp\www\stkey_submit.php 中给出的布尔值

4

3 回答 3

1

尝试$_POST['stkey']代替$_POST[stkey]

编辑:如果您在查询中使用它,最好这样做:

$stkey = mysql_real_escape_string($_POST['stkey']);
$sql = "SELECT ....... like '$stkey'";
mysql_query($sql);
于 2012-06-12T13:56:31.137 回答
0
$result= mysql_query("SELECT student.first_name, student.surname, student.year_group, student.STKEY, student_log.issue
    FROM `student` JOIN `student_log`
    WHERE student.STKEY like " . $_POST["stkey"]);
于 2012-06-12T14:00:55.927 回答
0

如何在将 stkey 的值包含在查询中之前将其存储在变量上?

$stkey = $_POST['stkey'];
$result= mysql_query("SELECT student.first_name, student.surname, 
        student.year_group, student.STKEY, student_log.issue
        FROM `student` JOIN `student_log`
        WHERE student.STKEY LIKE '%$stkey%'");

您可能还想使用 MySqli 或 PDO 而不是 MySql 数据库 API。看看 Nettuts 的这篇文章:http: //net.tutsplus.com/tutorials/php/php-database-access-are-you-doing-it-correctly/

于 2012-06-13T13:10:40.440 回答