Los valores vacíos se agregan a todas las filas de mysql en lugar de solo a la fila de destino

Las columnas vacías se están agregando a mis filas de MySQL al enviar los datos a mi servidor. Lo estoy ingresando en una fila pero todas las filas tienen al menos una columna vacía. ¿Cómo puedo prevenir esto? Aquí hay un ejemplo. Cualquiera que diga 0bytes son filas vacías.

¿Ver filas vacías?

Mi código PHP hasta ahora (será camuflado cuando descubra esta parte)

 $name) { if ($_FILES['cf']['error'][$key] == 0) { mysqli_query($conn, ""); } }*/ $category = $_POST['category']; $cf = $_FILES['cf']; mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)"); } else { echo 'Empty file'; } } mysqli_close($conn); ?> 

Quiero evitar esas filas vacías. En mi archivo de recuperación php cuando los recupero del servidor, envuelvo el contenido en una etiqueta para que todo lo que se tome de esas filas se muestre como una imagen. No quiero que la imagen dañada o un marco vacío se muestren con el rest de los anuncios. ¿Cómo puedo detener esto?

¿Ha intentado imprimir los contenidos de la categoría a la consola? ¿Es posible que una categoría válida y una categoría nula se publiquen desde la fuente?

También puede intentar encapsular la llamada de SQL con una comprobación nula contra la categoría. Esto podría atrapar el nulo antes de su inserción.

 $category = $_POST['category']; $cf = $_FILES['cf']; if($category != NULL) { mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)"); } 

Por último, puede configurar una de las columnas de la tabla para que no permita valores nulos. Lo que le permitiría poner un bloque try catch y eliminar los datos vacíos

 Try { mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)"); } catch (exception ex) { // do nothing! } 

cada vez que haga una consulta de insert , sql insertará una fila completa. Si solo especifica una columna, todas las demás columnas se rellenarán con un null (o cualquiera que sea el valor predeterminado).

Si desea rellenar las otras columnas en la fila, puede hacerlo ..

 insert into table (col1, col2) values ('val1', 'val2') 

Si desea actualizar una columna en una fila existente …

 Update table set column = 'value' where col='somevalue' 

la conclusión es que no puede crear una fila y esperar que solo una columna se complete. eso no tiene sentido … ¿dónde esperas que suceda algo como esto?

introduzca la descripción de la imagen aquí