저는 처음부터 MySQL/PHP를 가르치려고합니다. 다음 코드는 다양한 자습서 사이트에서 해제되었습니다. 내 웹 호스트에서 제공하는 phpMyAdmin을 사용하고 있습니다.MySQL : 양식 필드의 텍스트를 무시하는 이유는 무엇입니까?
"ID"라는 자동 증가 필드와 "first"(varchar, limit 30, null이 아님) 필드가있는 테이블을 만들었습니다. 그런 다음 "첫 번째"라는 텍스트 필드와 제출 버튼이있는 간단한 양식을 만들었습니다. 상자에 내 이름을 입력하고 제출을 클릭하십시오. ID로 데이터베이스에 행을 만들지 만 "첫 번째"필드는 항상 비어 있습니다.
'$ _POST [첫 번째]'를 몇 가지 똑같은 단어로 바꿔서 시도해 보았습니다. 단어가 테이블에 ID 번호가있는 것으로 나타났습니다. 그것이 실제로 데이터베이스와 대화하는 것을 알고있는 방법입니다. 텍스트 필드를 선택하지 않습니다.
INSERT 문을 실행 한 후에 테이블의 모든 레코드를 표시해야합니다. 모든 ID 번호를 표시 한 다음 "첫 번째"가 있어야하는 곳을 비 웁니다.
또한 INSERT 문을 표시합니다. INSERT INTO : 나는에 대한 단어를 대체 할 때 INSERT INTO tblHurray (ID 먼저) VALUES ('', '')
'$ _POST를 [처음], 에코는 다음과 같습니다 :이 에코 표시는 무엇인가 tblHurray (ID, 첫 번째) VALUES ('', 'words')
이것은 내 첫 번째 질문이므로 관련 정보를 빠뜨린 경우 알려 주시기 바랍니다. 그리고 당신의 도움에 미리 감사드립니다.
<form action="run_input.php" method="post">
Name: <input type="text" name="first">
<input type="Submit">
</form>
이 "제출"때 실행되는 것입니다 클릭 :
이
양식입니다<?
include("run_connect.php"); // this connects to the database, this works
$step1 = "INSERT INTO tblHurray(ID, first) VALUES ('','$_POST[first]')";
mysql_query($step1);
echo "$step1";
echo "<b><center>Database Output</center></b><br><br>";
$step2=mysql_query("SELECT * FROM tblHurray");
$num=mysql_numrows($step2);
$i=0;
while ($i < $num) {
$firstname=mysql_result($step2,$i,"first");
$ID=mysql_result($step2,$i,"ID");
echo "$ID: $firstname<br />";
$i++;
}
?>
더 나은 방법은 준비된 문장을 사용하는 것입니다. PDO 또는 mysqli를 확인하십시오. –
mySQL은 4.1의 진술을 준비했습니다 – Mathew
두 분 모두 동의합니다. 한 번에 너무 많은 개념을 도입하고 싶지 않았습니다 :) –