ホームページ >バックエンド開発 >PHPチュートリアル >データベースの内容を変更する方法

データベースの内容を変更する方法

WBOY
WBOYオリジナル
2016-06-23 14:10:03944ブラウズ

図に示すように、このコードを実行すると特定の問題が発生します。

<?php//######################修改课题界面3##########################  include "config.php";  include "admin_header.php";?> <title>修改课题</title><?php   $query="update $jiaoshi_table set subject='$subject1' where id='$id'";   mysql_query("set names 'GB2312'");   $result=mysql_query($query);   $query="update $jiaoshi_table set teacher='$teacher1' where id='$id'";   mysql_query("set names 'GB2312'");   $result=mysql_query($query);   $query=mysql_query("update $jiaoshi_table set zhicheng='$zhicheng1' where id='$id'");   mysql_query("set names 'GB2312'");   $result=mysql_query($query);   $query=mysql_query("update $jiaoshi_table set specialized='$specialized1' where id='$id'");   mysql_query("set names 'GB2312'");   $result=mysql_query($query);   $query=mysql_query("update $jiaoshi_table set code='$select' where id='$id'");   mysql_query("set names 'GB2312'");   $result=mysql_query($query);    $query="update $jiaoshi_table set beizhu='$introduction' where id='$id'";   mysql_query("set names 'GB2312'");   $result=mysql_query($query);      $query="select number as sn,surplus as ssn from $jiaoshi_table where id='$id'";		mysql_query("set names 'GB2312'");		$result=mysql_query($query);		$row=mysql_fetch_array($result);		if($number1<$row[sn])		{			if($number1<($row[sn]-$row[ssn]))			{				echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>人数不能少于现已选题人数,人数列修改失败!</big></b></font>";				echo"<meta http-equiv=\"refresh\" content=\"2;url=alter_keti.php\">";				exit;			}			else			{		    	$query2=mysql_query("update $jiaoshi_table set number='$number1' where id='$id'");				$query3=mysql_query("update $jiaoshi_table set surplus=surplus-($row[sn]-$number1) where id='$id'");				mysql_query("set names 'GB2312'");   				$result1=mysql_query($query3);							}		}		else		{			$query4=mysql_query("update $jiaoshi_table set number='$number1' where id='$id'");			$query5=mysql_query("update $jiaoshi_table set surplus=surplus+($number1-$row[sn]) where id='$id'");			mysql_query("set names 'GB2312'");   			$result2=mysql_query($query5);			   		}				if($result==true)				{				   echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>修改课题成功!</big></b></font>";				   echo "<meta http-equiv=\"refresh\" content=\"1;url=alter_keti.php\">";				   exit;				 }				 else				 {				   echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>修改出错,请返回重新修改</big></b></font></p>";				   echo "<meta http-equiv=\"refresh\" content=\"1;url=alter_keti.php\">"; 				   exit;				 }		?><?php include "foot.php";?>


ディスカッションへの返信(解決策)

すべて未定義変数 $subject1, $id, $Teacher1...

また、同じ条件の更新文をまとめて書くこともできます。一度実行すれば十分です。

いずれも未定義変数 $subject1, $id, $Teacher1...

また、同じ条件の更新文をまとめて書くこともできます。一度実行すれば十分です。

では、このように書くのは正しいでしょうか?

 $query="update $jiaoshi_table set subject='$subject1',teacher='$teacher1',zhicheng='$zhicheng1',specialized='$specialized1' , code='$select',beizhu='$introduction'where id='$id'";   mysql_query("set names 'GB2312'");   $result=mysql_query($query);
変数はどこでどのように定義すればよいですか?

上記の記述は正しいです

変数はフォームを通じて送信されていますか? $subject1=$_POST['subject1'] ;

extract($_REQUEST) // この文を追加します
$query="update $jiaoshi_table set subject='$subject1' where id= '$ id'";
....

extract($_REQUEST); //この文を追加
$query="update $jiaoshi_table set subject='$subject1' where id= '$id '";
....変数をどこで定義するか?
$subject1=$_POST['subject1']; のように定義されていますか?

これは、投稿したコードの 7 行目と 8 行目に当てはまりますか?
$query="update $jiaoshi_table set subject='$subject1' where id='$id'";
変更してください。 Like this
extract($_REQUEST); // この文を追加します
$query="update $jiaoshi_table set subject='$subject1' where id='$id'"; 以上です。他の人は動かないでください
今後同様の状況に遭遇した場合は、このようにします

注意: 未定義の変数: xxx

注意: 未定義の変数: xxx


どんなに初心者であっても、翻訳者がエラーメッセージを理解できるようにしてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。