sql >> Databáze >  >> RDS >> Sqlserver

Jak uniknout řetězcům v SQL Server pomocí PHP?

addslashes() není plně adekvátní, ale balíček mssql PHP neposkytuje žádnou slušnou alternativu. Ošklivé, ale plně obecné řešení je kódování dat jako hexadecimální bytestring, tj.

$unpacked = unpack('H*hex', $data);
mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (0x' . $unpacked['hex'] . ')
');

Abstrahováno, to by bylo:

function mssql_escape($data) {
    if(is_numeric($data))
        return $data;
    $unpacked = unpack('H*hex', $data);
    return '0x' . $unpacked['hex'];
}

mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (' . mssql_escape($somevalue) . ')
');

mysql_error() ekvivalentem je mssql_get_last_message() .



  1. Nainstalujte rozšíření SQL Server Agent Extension v Azure Data Studio

  2. Vnitřnosti WITH ENCRYPTION

  3. Úvahy o šifrování dat v klidu pro MariaDB

  4. Příklady příkazů JDBC – Vložit, Smazat, Aktualizovat, Vybrat záznam