我遇到了这个插入语句的问题。它位于 if 语句中,并在用户成功上传和图像后使用。
$contenido = $filename;
$db = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$data = $db->prepare("INSERT INTO publicaciones (autorID, autorNombre, nombre, claseDeContenido, contenido, palabras, etiquetas, fecha) VALUES (:autorID, :autorNombre, :nombre, :claseDeContenido, :contenido, :palabras, :etiquetas, :fecha)");
$data->execute(array( ':autorID,' =>$autorID,
':autorNombre' =>$autorNombre,
':nombre' => $nombre,
':claseDeContenido' => $claseDeContenido,
':contenido' => $contenido,
':palabras' =>$palabras,
':etiquetas' => $etiquetas,
':fecha' => $fecha));
错误是
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in .... on line 215
但是脚本中的变量名没有变化,有八个参数要插入,我发送了 8 个。我检查了 $fecha,它在第215行,肯定被发送了。
会是什么呢?
如果所有字段都存在于它们各自的变量中,则不会运行此函数。
if($autorID !== '' || $autorNombre !== '' || $nombre !== '' || $claseDeContenido !== '' || $contenido !== '' || $palabras !== '' || $etiquetas !== '' || $fecha !== '')
注意:图片上传成功