MySQL에 문제가 있습니다. mysqli와 함께 PHP를 사용하여 준비된 테이블에 데이터를 쓴다. 그러나 양식을 제출하면 테이블에 값을 써야하며 각 값은 테이블에 새로운 행을 만듭니다. 여기 내 코드입니다 :모든 값에 대해 새 행을 만듭니다.
session_start();
$_SESSION["Field"]=array("Name1","Name2","Name3",...);
if(!empty($_POST)){
foreach($_SESSION["Field"] as $Variable){
if(!empty($_POST[$Variable])){
$_SESSION[$Variable]=$_POST[$Variable];
}}}
if(array_key_exists("Database",$Collection)){
$Database=mysqli_connect("localhost","dbadmin","password","mydatabase");
mysqli_query($Database,"insert into Table1 (PHPSESSID) values ('".session_id()."')");
foreach($_SESSION["Field"] as $Variable){
if(!empty($_POST[$Variable])){
$_SESSION[$Variable]=mysqli_real_escape_string($Database,$_SESSION[$Variable]);
mysqli_query($Database,"insert into Table1 ($Variable) values ('{$_SESSION[$Variable]}')");
}}
mysqli_close($Database);
}
업데이트 : (?)는 생각의 문제가 있음을, 모든 변수가 하나 개 mysqli 작업에 있어야하기 때문이다. 그러나 나는 그것에 대해 아무것도 찾지 못했습니다. 내가 맞습니까? 이게 뭐야? mysqli_query($Database,"insert into Table1 (Variable1,Variable2,Variable3) values ('Value1','Value2','Value3')");
?
업데이트 2 : 제가 삽입 작업을 커밋하지 않아도 발생할 수 있다고 생각하지만 커밋 할 필요가 없으므로 생각하지 않습니다. 문제입니다. 하지만 저는 MySQL과 SQL의 초보자입니다. 그래서 나는 틀 렸습니다.
두 가지 모두 내 문제의 해결책으로 보이지만 배열의 변수를 사용하여 foreach 루프에서 만드는 방법은 잘 모르겠습니다. 누구든지 나를 도울 수 있습니까?
저는 초급자이고 대답의 첫 부분을 전혀 이해하지 못합니다. 두 개의 foreach 루프는 내 코드에서 다른 위치에 있으므로 함께있을 수 없습니다. 편집에서 mysqli_real_escape_string을 의미하는 것이 맞다면 여기에 쓰는 것을 잊었습니다. – aleskva
문제가있는 작은 조언을 추가 할 수 있습니까? 아니면 작은 코드 예제? – aleskva
실행 가능한 것으로 보입니다. 나는 그것을 시도 할 것이고 결과에 대해보고 할 것이다 ;-) – aleskva