gpt4 book ai didi

php - 多个MySQL记录具有相同的名称,不同的id

转载 作者:行者123 更新时间:2023-11-29 14:19:36 25 4
gpt4 key购买 nike

这个问题可能有一个简单的答案,但我一生都无法让它发挥作用。

我正在使用 PHP 和 MySQL,并进行了类似的设置:

    $studentname = mysql_real_escape_string($_POST['sname']);
$studentnumber = mysql_real_escape_string($_POST['snumber']);
$course = mysql_real_escape_string($_POST['courseselect']);

$bike3 = mysql_query("SELECT stoodnumber FROM bikes505 WHERE stoodname='" . $studentname . "'");
$bikestoods = mysql_fetch_array($bike3);

while($row = mysql_fetch_array($stoodlistq))
{
$stoodentname = $row['stoodname'];
$stoodentnumber = $row['stoodnumber'];
//$coursename = $row2['coursename'];
//$coursecode = $row2['coursecode'];


if($studentname == $stoodentname && $studentnumber == $stoodentnumber){
//$success = 1;
//$success = "yupp";
//echo "SUCCESS, WE CAN REGISTER YOOOU!";
echo "<br>";

//echo "INSERT INTO " . $course . "";
switch($course){
case "Biking Safely":
if($studentnumber = $bikestoods[0] or $bikestoods[1]){
echo "Sorry, this student has already registered";
} else if($bikecurrent < $bikemax){
mysql_query("INSERT INTO bikes505 VALUES ('" . $stoodentname . "','" . $stoodentnumber . "')");
echo "Yay, successfully registered " . $stoodentname . " - " . $stoodentnumber . " for " . $course;
echo "<br>";
} else{
echo "Sorry, class is full!";
}
break;

...等等。我遇到的唯一问题是,如果我有两个同名的学生,列表中的第二个学生将回显信息不正确。

例如,MySQL 表有 'stoodname' 和 'stoodnumber',如果 'Jimmy St.James','1010' 和 'Jimmy St.James','1090' 都是表中的记录,则只会让我为 Jimmy 1010 注册类(class),而不是 Jimmy 1090。

我的验证方式是否还差得远?或者我错过了一些非常明显的东西?起初我以为这只是因为我只使用了数组 $bikestoods[0] 中的第一项,所以我将其更改为 $bikestoods[0] 或 $bikestoods[1] 但它仍然不起作用。

最佳答案

根据评论,您将 $stoodlistq 定义为:

$stoodlistq = mysql_query("SELECT * FROM stoodinfo");

稍后,您使用以下代码块:

$studentname = mysql_real_escape_string($_POST['sname']);
$studentnumber = mysql_real_escape_string($_POST['snumber']);
...
while($row = mysql_fetch_array($stoodlistq)) {
...
if($studentname == $stoodentname && $studentnumber == $stoodentnumber){

此代码中的 while() 循环会迭代每条记录,但是 if 语句 会检查 POST 变量。 POST 变量构成“一名学生”的单个组合 - 因此,您只能获得一名可以注册的学生。

要解决此问题,您需要更新提交“学生姓名”/“学生编号”的表单以接受多个输入 - 更新 if 语句 仅检查学生的姓名(这可能会导致更不受欢迎的情况)。

关于php - 多个MySQL记录具有相同的名称,不同的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com