php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #65041 PHP : 5.3.5; Apache: 2.2.17; MySQL: 5.5.8
Submitted: 2013-06-14 22:16 UTC Modified: 2013-06-15 04:52 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:0 of 1 (0.0%)
From: cac3882000 at yahoo dot com dot ar Assigned:
Status: Not a bug Package: MySQLi related
PHP Version: 5.3Git de 2013-06-14 (Git) OS: Windows XP
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: cac3882000 at yahoo dot com dot ar
New email:
PHP Version: OS:

 

 [2013-06-14 22:16 UTC] cac3882000 at yahoo dot com dot ar
Description:
------------
<?php
error_reporting( E_ALL );
$link   = "";
$result = "";
//                            test01-php   CARGA DE DATOS A LA BASE
// Listo los campos a cargar transferidos con el método POST del formulario y a 
través de $_POST.
//
echo "Apellido: " , $_POST['apellido'], "<br>";
echo "Nombres: " ,  $_POST['nombre'], "<br>";
echo "Nro. Doc: " , $_POST['ndoc'] ,"<br>";
echo "Calle   : " , $_POST['calle'], "<br>";
echo "Numero: " ,   $_POST['numcalle'], "<br>";
echo "Importe: " ,  $_POST['importe'], "<br>";
echo "Telefono: " , $_POST['telefono'], "<br>";
echo "Fecha: " ,    $_POST['fecha'], "<br>";
//
//               Verifico los campos antes de cargarlos a la base.
//
if(isset($_POST['apellido'])  && !empty($_POST['apellido'])  &&
   isset($_POST['nombre'])    && !empty($_POST['nombre'])    &&
   isset($_POST['ndoc'])      && !empty($_POST['ndoc'])      &&
   isset($_POST['calle'])     && !empty($_POST['calle'])     &&
   isset($_POST['numcalle'])  && !empty($_POST['numcalle'])  &&
   isset($_POST['importe'])   && !empty($_POST['importe'])   &&
   isset($_POST['telefono'])  && !empty($_POST['telefono'])) 
   {
    $link = mysqli_connect('localhost', '', '','bd_clientes');
    if (!$link) {
        die('Error de Conexión (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error()); exit();
    } else { 
            echo 'Éxito ... se accedió a la BD !!' .						            
mysqli_get_host_info($link), "<br>";   
	     }	
 } else { 	
         echo 'Faltan completar campos obligatorios, se anula la carga !!';		         
exit(); echo "<br>";
 }
//                              Desactivo autocommit 
mysqli_autocommit($link, FALSE);
//	
$result = mysqli_query($link,"INSERT INTO tb_cliente						    
(id,apellido,nombres,numdoc,calle,numcalle,telefono,importe)
          VALUES (''','{$_POST['apellido']}','{$_POST['nombre']}','
	           {$_POST['ndoc']}','{$_POST['calle']}','
		     {$_POST['numcalle']}','{$_POST['telefono']}','
		     {$_POST['importe']}");

if (!$result)	
   { 		   
	echo ("Mensaje de error: " . mysqli_error($link)), "<br>"; 
	echo ("Código de error: " . mysqli_errno($link)), "<br>";  
    echo ("Error - SQLSTATE " . mysqli_sqlstate($link)), "<br>";
   }		  			   
//                             Activo la transacción  
mysqli_commit($link);
//                             Cierro la base
mysqli_close($link);	
?> 


Test script:
---------------
Respuesta del pgm.:

Apellido: Gomez Pereda
Nombres: Miguel Horacio
Nro. Doc: 8103661
Calle : De la Rosa
Numero: 1595
Importe: 738500.75
Telefono: 4701-3394

Éxito ... se accedió a la BD !!localhost via TCP/IP

Mensaje de error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Gomez Pereda','Miguel Horacio',' 8103661','De la Rosa',' 159' at line 2
Código de error: 1064
Error - SQLSTATE 42000


Expected result:
----------------
La idea es la de cargar una tabla con datos transferidos desde un formulario HTML 
con el método POST a través de $_POST. El pgm. los lista previamente para 
comprobar que fueron transferidos, pero al momento de ejecutar la instrucción 
mysqli_query para hacer el INSERT INTO, da el error indicado (1064 - SQLSTATE 
42000), que, como principiante que soy, no interpreto, a pesar de agotar las 
posibilidades de solución por medio de pruebas y búsqueda de la documentación 
sobre el tema; si bien es un procedimiento común y frecuente, no dispongo a quien 
recurrir y quedo estancado. Solicito me oriente y me diga en donde me equivoqué a 
fin de subsanar el error. Desde ya mi agradecimiento tanto por su gestión como por 
la deferencia del tiempo dedicado. Muchas gracias
PD.
Ejecutado en  Windows XP   
Bajo:   I Explorer   y   Mozilla Firefox 21.0
Versiones:    PHP :   5.3.5;    Apache:   2.2.17;      MySQL:   5.5.8


Actual result:
--------------
Estructura de la tabla destino de los datos:

	Campo	Tipo	Cotejamiento	Atributos	Nulo	Predeterminado	
Extra	Acción
 
id	int(11)			No	None	AUTO_INCREMENT	  
apellido	varchar(25)	latin1_swedish_ci		No	None	 
nombres	varchar(30)	latin1_swedish_ci		No	None	 
numdoc	int(10)			No	None	 
calle	varchar(25)	latin1_swedish_ci		No	None	 
numcalle	varchar(5)	latin1_swedish_ci		No	None 
telefono	varchar(10)	latin1_swedish_ci		No	None 
importe	decimal(8,0)			No	None	 

 Marcar todos/as / Desmarcar todos Para los elementos que están marcados:       
________________________________________
 Vista de impresión  Vista de relaciones  Planteamiento de la estructura de 
tabla  

 Añadir  campo(s)  Al final de la tabla  Al comienzo de la tabla  Después de   
________________________________________
Índices:  
Acción	Nombre de la clave	Tipo	Único	Empacado	Campo	
Cardinalidad	Cotejamiento	Nulo	Comentario
 
 
PRIMARY	BTREE	Sí	No	id	0	A		
 
 
index	BTREE	Sí	No	telefono	0	A		


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-06-15 04:52 UTC] rasmus@php.net
-Status: Open +Status: Not a bug
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 20:01:45 2024 UTC