준비된 문으로 처음으로 작업하지만이 오류가 발생합니다. 어떤 이유로 매개 변수로 바인드 유형을 전달할 수 있습니까?값을 바인딩 할 때의 문제
내 코드 : 내가 얻을 쿼리 예를 에코 경우
function insert($table, $columns = array(), $bindTypes, $values = array()) {
// Store connection.
$connection = connection();
$columnValues = null;
$index = 1;
// Prepare unassigned value string.
foreach ($columns as $column) {
$columnValues .= '?';
if ($index < count($columns)) {
$columnValues .= ', ';
}
$index++;
}
// Debugg purpose: echo query example:
echo "INSERT INTO {$table} (" . implode(', ', $columns) . ") VALUES ({$columnValues})";
// Prepare statement.
$statement = $connection->prepare("INSERT INTO {$table} (" . implode(', ', $columns) . ") VALUES ({$columnValues})");
$statement->bind_param($bindTypes, implode(', ', $values));
}
insert('test', array('name'), 'i', array(1));
는 "테스트 (이름) INTO INSERT VALUES (?)".
나는 아직 학습 멍청 아.
참고 : [... $ values] (http://php.net/functions.arguments#functions.variable-arglist) 구문으로 인해 PHP/5.6 +가 필요합니다. –