在谷歌搜索后,我才知道,在我的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手段。 如果是数字0,那么应该更新使用UPDATE语句可能是空或数字0。 但每当我试图更新它,它永远不会更新使用UPDATE语句。 这就是为什么我要问!
PS:所有列具有数据类型INT。
希望你明白我想说的:)
下面是完整的代码。 假设:已创建具有值student_id数据2. IssuedBookNumber = 51
使用上述的值:结果=创建一个新的行具有的所有列0以外的列“IssuedBookNumber”,即具有值= 51。
虽然我想,结果应该是:在行student_id数据= 2,Book_4应该是51。
点是,当我在student_id数据插入的值,所有其它列在同一行上变为0。 但是,当任何上具有任意数量的除了0相同的行的列的(这是对所有列自动来到时,i插入到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);
}