PHP 배열에 단일 행이 있습니다.이 행을 mySQL 데이터베이스에 삽입하고 키와 값을 문자열에 삽입 한 다음 Insert 문에서 해당 문자열을 사용하고 싶습니다.implode() 배열을 사용하여 mySql 데이터베이스에 레코드 삽입
$fields = implode(",", array_keys($_POST));
$newdata = implode(",", $_POST);
$query = (
"INSERT INTO Food_entered ($fields)
VALUES ('$newdata')");
$result = mysqli_query($dbc, $query);
문자열을 만들 수 있는데 행이 삽입되지 않고 적절한 형식으로 표시됩니다. 간단한 접근법처럼 보이지만 내가 무엇을 놓치고 있는지 확실하지 않습니다. @Barmar가 지적했듯이
이$fields = implode(",", array_keys($_POST));
$newdata = implode(",", array_map(function($x) use ($dbc) {
return "'" . $dbc->real_escape_string($x) . "'";
}, $_POST));
$query = (
"INSERT INTO Food_entered ($fields)
VALUES ($newdata)");
$result = mysqli_query($dbc, $query);
당신이 다시'$의 result'에서 무엇을 얻고있다? – dfockler
Hmmm .... 행 수는 행 1의 값 수와 일치하지 않습니다. 나는 그것을 확인했습니다. 왜 내가 같은 수의 키와 값을 가지고 있는지 확신 할 수 없다. – user2232681