В настоящее время я использую Postgres с PHP. Я пишу интерфейс, где пользователь может заполнить пользователя, поэтому он добавляется к общей записи пользователей в базе данных. (Очень просто).
В последнее время у меня возникли проблемы с получением запросов. Кажется, что побег все время требуется. Только сам запрос между двойными кавычками уже не является достаточным.
У меня возникли проблемы со следующим запросом;
$query = pg_query($dbconnection,"INSERT INTO clients('clientid', 'name', 'ipaddress', 'status') VALUES ('$clientid', '$name', '$ipaddress', '$status' ");
Это не работает. Я думаю, что нужно больше ускользнуть. Существует ли какой-либо сторонний инструмент для проверки правильности этих синтаксисов postgres?
Если нет, как я могу превратить этот запрос в полезный?
Используйте pg_query_params () для обработки escaping и избегайте SQL-инъекции:
$query = pg_query_params( $dbconnection, 'INSERT INTO clients(clientid, name, ipaddress,status) VALUES ($1, $2, $3, $4);', // placeholders array($clientid, $name, $ipaddress, $status) // content );
Try this $query = pg_query($dbconnection, "INSERT INTO clients(clientid, name, ipaddress,status) VALUES ('$clientid', '$name', '$ipaddress', '$status' ");
$query = pg_query($dbconnection, "INSERT INTO clients(clientid, name, ipaddress,status) VALUES ('$clientid', '$name', '$ipaddress', '$status')");
должен выполнять работу. Не указывайте кавычки вокруг имен полей и закрывающей круглой скобки после VALUES
.