gpt4 book ai didi

php - 使用 mysql/php 的 INSERT 语句中的 WHERE 子句

转载 作者:行者123 更新时间:2023-11-29 17:49:48 26 4
gpt4 key购买 nike

通过 Google 搜索后,我了解到,我无法在 INSERT 查询中使用 WHERE 子句。但我想在“Book_4”列中插入一个值,其中“Student_ID = 1”

我怎样才能做到这一点?有没有其他方法可以做到这一点?

我会感谢你的!

$Query = "INSERT INTO issued_books (Book_4) VALUES ('$IssuedBookNumber')" ;

编辑:更多详情使用插入查询,当我在表中的“Student_ID”列中插入值时。在我的数据库中,Student_ID 行中的所有列(Student_ID 除外)都显示为 0。我不知道这个 0 根据 DB 意味着什么。它可能是 Null 或数字 0。如果它是数字 0,则应使用 UPDATE 语句对其进行更新。但每当我尝试更新它时,它都不会使用 UPDATE 语句进行更新。这就是我问的原因!

P.S:所有列都有数据类型 INT。

希望你明白我想说的:)

这是完整的代码。假设:Student_ID 已创建,值为 2。已发行图书编号 = 51

使用上述值:结果 = 创建一个新行,其所有列均为 0,但“IssuedBookNumber”列的值 = 51 除外。

虽然我想要,但结果应该是:在 Student_ID = 2 行,Book_4 应为 51。

重点是,当我在 Student_ID 上插入一个值时,同一行上的所有其他列都变为 0。但是,当同一行上的任何列具有除 0 之外的任何数字时(当我在 Student_ID 中插入值时,该数字会自动出现在所有列上)。更新查询将起作用..!

$IssuedBookNumber = $_POST['IssuedBookNumber'];
$Student_ID = $_POST['StudentId'];

$FetchingQuery = "SELECT * FROM issued_books WHERE Student_ID='" . $Student_ID . "'";

$RunFetchingQuery = mysql_query($FetchingQuery);


while ( $row = mysql_fetch_array( $RunFetchingQuery ) ) {

$Book_1 = $row[ 'Book_1' ];
$Book_2 = $row[ 'Book_2' ];
$Book_3 = $row[ 'Book_3' ];
$Book_4 = $row[ 'Book_4' ];
$Book_5 = $row[ 'Book_5' ];

}

if(!empty($Book_4))
{
$Update = "UPDATE issued_books SET Book_4='$IssuedBookNumber' WHERE Student_ID= '$Student_ID'";
mysql_query ($Update);
}

else
{
$AddQuery = "INSERT INTO issued_books (Book_4) VALUES ('$IssuedBookNumber')";
mysql_query ($AddQuery);
}

最佳答案

这不是插入。这是一个更新。 INSERT 语句插入一个行。 UPDATE 语句更新现有行。

UPDATE issued_books
SET Book_4 = '$IssuedBookNumber'
WHERE Student_ID = '$Student_ID'

(我假设您已正确转义 $IssuedBookNumber$Student_ID)

关于php - 使用 mysql/php 的 INSERT 语句中的 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49477647/

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