ホームページ >バックエンド開発 >PHPチュートリアル >データを追加するための PHP 操作 SQL に関連する問題
PHP 操作 SQL でのデータ追加の問題について
これは私のデータベースのテーブルです:
# name type 属性はデフォルトでは空です
1 id tinyint(3) UNSIGNED No
2 name varchar(15) utf8_general_ci いいえ なし
3 Phone varchar(15) utf8_general_ci いいえ なし
4 bookid tinyint(3) UNSIGNED はい NULL
次に、フォームには ID を受け取る 3 つのテキスト ボックスがあります。 、電話番号、以下は私のphpコードです
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php include "manage_heads.php"; ?> <link rel="stylesheet" type="text/css" href="manage.css" /> <script language="javascript"> function CheckPost(){ if(window.confirm("确定增加")){ myform.action="addstudent.php"; return true; } else { myform.id.focus(); return false; } } </script> <?php include 'conn.php'; ?> <?php //增加学生 if (isset( $_POST["phone"])){ $id=$_POST['id']; $name=$_POST['name']; $phone=$_POST['phone']; $sql="insert into people values(20,".$name.",".$phone."0);"; if(mysql_query($sql)){ echo '<script type="text/javascript">alert("操作成功");</script>'; } else{ echo '<script type="text/javascript">alert("操作失败");</script>'; } } ?> <form id="addform" action="" name="myform" method="post" onsubmit="return CheckPost();" > i d: <input type="text" name="id" size="30"/><br> name :<input type="text" name="name" size="30"/><br> phone: <input type="text" name="phone" size="30"/><br> <input id="addbtn" type="submit" value="确定增加" name="btn"></form>
$sql="人の値に挿入(20,".'$name'.",".'$phone'.",0)"; <br><font color="#e78608">------解決策---------</font><br>なぜint型データベースに書き込めるのか --mysql は <br><br> の型を自動的に変換します。外側の層は二重引用符であり、内側の層は引用符として使用できます。しかし、その逆は不可能です。つまり、<br>$sql='insert into people names(20,"$name","$phone",0)' は、このように記述すると解析できません <br><br>$sql を記述する必要があります。 ='このように挿入します peoplevalues(20,"'.$name.'","'.$phone.'",0)'; <br><br>------解決策---------<font color="#e78608"></font><br>