PHP - Error al insertar registro en base de datos Unknown column "JIMDL6000" in "where clause"

 
Vista:
Imágen de perfil de Roberto
Val: 24
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al insertar registro en base de datos Unknown column "JIMDL6000" in "where clause"

Publicado por Roberto (18 intervenciones) el 27/02/2017 21:51:39
Hola amigos les comento, tengo una base de datos en el cual cree un tabla llamada productos con la
siguiente estructura:

Name Type Decimals
id (primary key) int 11
clave text 0
id_indus int 11
letra varchar 50
nombre text 0
descripcion text 0
observaciones text 0
precio double 0
imagen longblob 0

Del lado del cliente tengo un formulario con el cual son los datos del producto para guardarlos en la base de datos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<form id="frmAlta" method="post" action="Confirmalta.php" enctype="multipart/form-data">
<table width="200" border="0">
  <tr>
    <td>Clave</td>
    <td><label>
      <input type="text" name="txtCveProd" required />
    </label></td>
  </tr>
  <tr>
    <td>Industria</td>
    <td><select name="lstIndustria">
	<option value="0" required>-- Seleccione una opción </option>
	<?php
          while ($valores = mysql_fetch_array($res)) {
            echo '<option value="'.$valores[id_indus].'">'.$valores[descripcion].'</option>';
          }
	?>
	</select></td>
  </tr>
  <tr>
    <td>Categoria</td>
    <td><label>
      <input type="text" name="txtCatProd" />
    </label></td>
  </tr>
  <tr>
    <td>Producto</td>
    <td><label>
      <input name="txtNomProd" type="text" size="50" required />
    </label></td>
  </tr>
  <tr>
    <td>Descripción</td>
    <td><label>
      <textarea name="txtDescProd" cols="50" rows="10"></textarea>
    </label></td>
  </tr>
  <tr>
    <td>Observaciones</td>
    <td><label>
      <textarea name="txtObsProd" cols="50" rows="10" id="txtObsProd"></textarea>
    </label></td>
  </tr>
  <tr>
    <td>Precio</td>
    <td><label>
      <input name="txtPreProd" type="text" id="txtPreProd" />
    </label></td>
  </tr>
  <tr>
    <td>Imagen</td>
    <td><input name="imgFoto" type="file" required /></td>
  </tr>
</table>
<input name="btnRegistra" type="submit" value="Registrar" class="button-style" />
</form>

El problema que tengo es que al mandar guardar los datos del formulario me muestra el siguiente error "Unknown column 'JIMDL6000' in 'where clause'",

Lo que pasa que quiero guardar una clave alfanumerica por ejemplo "JIMDL6000", en el campo clave de la base de datos enviando los datos por medio del control <input type="text" name="txtCatProd" /> pero no me lo permite

Les dejo el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
 $clave = $_POST['txtCveProd'];
 $industria = $_POST['lstIndustria'];
 $categoria = $_POST['txtCatProd'];
 $nombre = $_POST['txtNomProd'];
 $descripcion = $_POST['txtDescProd'];
 $observaciones = $_POST['txtObsProd'];
 $precio = $_POST['txtPreProd'];
 
 $query2 = "SELECT * FROM productos WHERE clave =".$clave;
 $duplicado = mysql_query($query2) or die (mysql_error());
 if (mysql_num_rows($duplicado)>0) {
 echo "<h2> No se puede agregar el producto la clave ya existe </h2>";
 echo "<a href=\"Panel.php\" class=\"button-style\">Regresar</a>";
 } else {
 
 $imagen = addslashes(file_get_contents($_FILES['imgFoto']['tmp_name']));
 $query = mysql_query("INSERT INTO productos (clave, id_indus, letra, nombre, descripcion, observaciones, precio, imagen)
    VALUES 
  ('$clave', $industria, '$categoria', '$nombre', '$descripcion', '$observaciones', '$precio', '$imagen')");
 
	 echo "<h2> Se registro su producto correctamente </h2>";
	 echo "<a href=\"Panel.php\" class=\"button-style\">Regresar</a>";
}
?>

Ojala me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error al insertar registro en base de datos Unknown column 'JIMDL6000' in 'where clause'

Publicado por Alejandro (157 intervenciones) el 28/02/2017 01:26:14
Hola Roberto, prueba cambiar la linea

1
$query2 = "SELECT * FROM productos WHERE clave =".$clave;

por esta:
1
$query2 = "SELECT * FROM productos WHERE clave='$clave'";

Comentanos si te sirvio. Un Saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Roberto
Val: 24
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al insertar registro en base de datos Unknown column 'JIMDL6000' in 'where clause'

Publicado por Roberto (18 intervenciones) el 28/02/2017 15:41:53
Gracias lo cambie y funciono correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al insertar registro en base de datos Unknown column ' ' in 'where clause'

Publicado por Franklyn (5 intervenciones) el 28/03/2018 00:57:51
tengo un error similar en un ERP con que estoy trabajando, sguiendo la secuencia de esta solucion, me dio este otro error:
Error Truncated incorrect DOUBLE value: '$this->idrecibo'


1
2
3
4
5
6
7
8
$sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . ' SET';
		//$sql .= ' rowid = '.(isset($this->rowid)?$this->rowid:"null").','; //f4rch4c0n
		$sql .= ' idrecibo = '.(isset($this->idrecibo)?"'".$this->db->escape($this->idrecibo)."'":"null").',';
		$sql .= ' fk_idtrabajador = '.(isset($this->fk_idtrabajador)?"'".$this->db->escape($this->fk_idtrabajador)."'":"null").',';
		$sql .= ' codigo = '.(isset($this->codigo)?$this->codigo:"null").',';
		$sql .= ' descripcion = '.(isset($this->descripcion)?"'".$this->db->escape($this->descripcion)."'":"null").',';
		$sql .= 'WHERE rowid="$this->idrecibo"';

necesito ayuda porfavor, ya llevo una semana con el error y ando atrasado :o
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar