Utilisez des requêtes paramétrées PDO pour créer des méthodes avec des instructions LIKE
P粉394812277
P粉394812277 2023-08-22 12:33:39
0
2
594
<p>这是我尝试的代码:</p> <pre class="brush:php;toolbar:false;">$query = $database->prepare('SELECT * FROM table WHERE colonne LIKE "?%"'); $query->execute(array('value')); tandis que ($results = $query->fetch()) { echo $results['colonne']; }</pre></p>
P粉394812277
P粉394812277

répondre à tous(2)
P粉722521204

Pour ceux qui utilisent des paramètres nommés, voici comment utiliser la correspondance partielle dans la base de données MySQLLIKE进行% :

WHERE column_name LIKE CONCAT('%', :dangerousstring, '%')

où se trouvent les paramètres nommés :dangerousstring.

En d'autres termes, vous utilisez des symboles % explicites sans échappement dans vos requêtes, qui sont distincts de la saisie de l'utilisateur.

EDIT : Pour Oracle Database, la syntaxe de jointure utilise l'opérateur de jointure : ||, elle se simplifiera donc en :

WHERE column_name LIKE '%' || :dangerousstring || '%'

Cependant, comme @bobince l'a mentionné ici, il y a quelques mises en garde :

Par conséquent, il y a d'autres choses à prendre en compte lors de la combinaison du like et du paramétrage.

P粉731861241

J'ai trouvé la réponse après avoir posté :

$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?');
$query->execute(array('value%'));

while ($results = $query->fetch())
{
    echo $results['column'];
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal