Ben sütun adları ve sütun ve bir tablo adı (basit bir dize) sokulacak değerleri bir ilişkisel dizi dayalı hazırlanmış bir INSERT deyimi üreten bir işlevi vardır:
function insert ($param, $table) {
$sqlString = "INSERT INTO $table (".implode(', ',array_keys($param)).') VALUES ('.str_repeat('?, ', (count($param) - 1)).'?)';
if ($statement = $this->conn->prepare($sqlString)):
$parameters = array_merge(array($this->bindParams($param), $param));
call_user_func_array(array($statement, 'bind_param', $parameters));
if (!$statement->execute()):
die('Error! '.$statement->error());
endif;
$statement->close();
return true;
else:
die("Could Not Run Statement");
endif;
}
Benim sorunum $ this-> bağl-> false döndürür (hiçbir sorunları ile çalışır YENİ mysqli nesnesi, bir sınıf, bağl parçası), ama bana bir neden vermez hazırlamak olduğunu!
İşte hazırlamak deyimi için inşa alır örnek $ SQLString olduğunu:
INSERT INTO students (PhoneNumber, FirstName, MiddleInit, LastName, Email, Password, SignupType, Active, SignupDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
Herkes bu parametreli deyimi ile bir sorun görüyor musunuz? Işlevini hazırlamak herhangi bir nedenle yanlış dönecekti?