PHP implosion divide la matriz después de agregar comillas

Después de dividir la cadena usando implosión, al consultar directamente con mysql, la cadena empalmada sin comillas informará el error de que el campo no se puede encontrar, de la siguiente manera:

$str = implode(',',array('张三','李四','王五'));

$res = DB::select("SELECT `user`.username,`user`.mobile FROM `user` WHERE `user`.username NOT IN (".$str.") ;");

 

Mensaje de error: 

SQLSTATE[42S22]: Column not found: 1054 Unknown column '张三' in 'where clause' (SQL: SELECT `user`.username,`user`.mobile FROM `user` WHERE `user`.username NOT IN (张三,李四,王五) ;)


Como se puede ver en el mensaje de error, el nombre en sql no se cita,

El método de modificación es el siguiente:

$str = implode("','",array('张三','李四','王五'));

$res = DB::select("SELECT `user`.username,`user`.mobile FROM `user` WHERE `user`.username NOT IN ('".$str."') ;");

 

Supongo que te gusta

Origin blog.csdn.net/I_lost/article/details/112388468
Recomendado
Clasificación