chaque requête de recherche est enregistré dans ma base de données, mais je veux limiter la Chracterlength pour un seul mot: odisafuoiwerjsdkle -> longueur trop -> Ne pas écrire dans la base de donnéesMYSQL: Limite de mots Longueur pour MySql Insérez
mon code est en fait:
$search = $_GET['q'];
if (!($sql = mysql_query ('' . 'SELECT * FROM `history` WHERE `Query`=\'' . $search . '\''))) {
exit ('<b>SQL ERROR:</b> 102, Cannot write history.');
;
}
while ($row = mysql_fetch_array ($sql)) {
$ID = '' . $row['ID'];
}
if ($ID == '')
{
mysql_query ('' . 'INSERT INTO history (Query) values (\'' . $search . '\')');
}
if (!($sql = mysql_query ('SELECT * FROM `history` ORDER BY `ID` ASC LIMIT 1')))
{
exit ('<b>SQL ERROR:</b> 102, Cannot write history.');
;
}
while ($row = mysql_fetch_array ($sql)) {
$first_id = '' . $row['ID'];
}
if (!($sql = mysql_query ('SELECT * FROM `history`')))
{
exit ('<b>SQL ERROR:</b> 102, Cannot write history.');
;
}
Pourquoi y a-t-il ';' après les lignes vides et '''. 'avant les requêtes? En outre, vous êtes vulnérable aux injections SQL, à moins que vous ne traitiez $ search d'une manière que vous n'avez pas montrée. – zneak