PHP - Problema al insertar datos a MYSQL

 
Vista:
sin imagen de perfil

Problema al insertar datos a MYSQL

Publicado por Creativo Vyral (2 intervenciones) el 05/05/2017 22:33:08
Buenas tardes,

Tengo una plataforma basica en php y mysql en la cual se guardan clientes y se muestran los datos de dicho cliente con algunas funciones extra, el problema esta cuando quiero guardar los datos del formulario en mi base de datos, eh dado muchas vueltas y nada que encuentro el problema...

Aqui 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
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?
session_start();
include "include/db_config.php";
?>
 
<form action="" method="post">
    <div class="row form-group">
 
        <div class="col-sms-6 col-sm-4">
            <label>Nombre de solicitante</label>
            <input name="nombre_cliente" type="text" required class="input-text full-width" id="nombre_cliente">
        </div>
        <div class="col-sms-6 col-sm-3">
            <label>Numero de Cedula</label>
            <input name="cedula" type="text" class="input-text full-width" id="cedula" required>
        </div>
 
        <div class="col-sms-6 col-sm-2">
            <label>ID formulario</label>
            <input name="id_formulario" type="text" class="input-text full-width" id="id_formulario">
        </div>
 
     </div>
 
     <div class="row form-group">
 
        <div class="col-sms-6 col-sm-6">
            <label>Fecha de Nacimiento</label>
            <div class="datepicker-wrap">
                <input name="fecha_nacimiento" type="text" class="input-text full-width" id="fecha_nacimiento" data-min-date="01/01/1900">
            </div>
        </div>
 
    </div>
 
    <div class="row form-group">
 
        <div class="col-sms-6 col-sm-6">
            <label>Telefono</label>
            <input name="telefono_cliente" type="text" required class="input-text full-width" id="telefono_cliente">
        </div>
        <div class="col-sms-6 col-sm-6">
            <label>Correo electronico</label>
            <input name="correo_cliente" type="text" class="input-text full-width" id="correo_cliente">
        </div>
 
    </div>
 
    <div class="row form-group">
 
        <div class="col-sms-6 col-sm-6">
            <label>Clave Formulario</label>
            <input name="clave_formulario" type="text" class="input-text full-width" id="clave_formulario">
        </div>
        <div class="col-sms-6 col-sm-6">
            <label>Clave Cuenta</label>
            <input name="clave_cuenta" type="text" class="input-text full-width" id="clave_cuenta">
        </div>
 
    </div>
 
    <div class="row form-group">
      <div class="col-sms-6 col-sm-6">
        <label>Consignacion</label>
            <div class="selector">
                <select name="banco" class="full-width" id="banco">
					<option value="">Escoger Opcion</option>
					<option value="BANCOLOMBIA">BANCOLOMBIA</option>
                    <option value="COLPATRIA">COLPATRIA</option>
                </select>
            </div>
        </div>
 
        <div class="col-sms-6 col-sm-6">
            <label>Ciudad</label>
            <input name="ciudad" type="text" class="input-text full-width" id="ciudad">
        </div>
 
    </div>
 
    <div class="form-group col-sm-5 col-md-4 no-float no-padding no-margin">
        <button type="submit" name="agregar_cliente" id="agregar_cliente" class="btn-medium full-width">AGREGAR CLIENTE</button>
    </div>
</form>
 
<?
	if(isset($_POST['agregar_cliente'])) {
 
	$nombre_cliente = $_POST['nombre_cliente'];
	$id_formulario = $_POST['id_formulario'];
	$fecha_nacimiento = $_POST['fecha_nacimiento'];
	$telefono_cliente = $_POST['telefono_cliente'];
	$correo_cliente = $_POST['correo_cliente'];
	$clave_formulario = $_POST['clave_formulario'];
	$clave_cuenta = $_POST['clave_cuenta'];
	$numero_factura = $_POST['numero_factura'];
	$cedula = $_POST['cedula'];
	$ciudad = $_POST['ciudad'];
 
	$verificar = mysql_query("SELECT * FROM clientes WHERE cedula = '".$cedula."'");
	$total = mysql_num_rows($verificar);
 
	function randomString($length = 10, $letters = NULL){
 
		if(!isset($letters) || strlen($letters) == 0){
			$letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890._";
		}
 
		$str = ''; //Cadena resultante
		$max = strlen($letters)-1;
 
		for($i=0; $i<$length; $i++){
			$str .= $letters[rand(0,$max)];
		}
 
		return $str;
	}
	$num_relacion = randomString(10,'ABCDEFGHIJKLMNOPQRSTVUWXYZ123456789');
 
	if($total > 0) {
	echo '<script type="text/javascript">alert("La Cedula ya ha sido Registrada");</script>';
	}else{
 
$sql = "INSERT INTO clientes (
id_relacion,
cedula,
nombre,
fecha_nacimiento,
telefono,
correo,
pass_formulario,
pass_cuenta,
asesor,
ciudad
) VALUES (
'".$num_relacion."',
'".$cedula."',
'".$nombre_cliente."',
'".$fecha_nacimiento."',
'".$telefono_cliente."',
'".$correo_cliente."',
'".$clave_formulario."',
'".$clave_cuenta."',
'".$asesor."',
'".$ciudad."'
)";
 
		if(!mysql_query($sql)) {
 
			echo '<script type="text/javascript">alert("SECURITY: Ha ocurrido un error (SQL 1 INSERTAR DATOS A CLIENTES)");</script>';
 
		}else{
 
			?>
			<script>
				alert("Cliente Agregado con exito, Su numero de Cliente es: <? echo $num_relacion; ?>");
				window.location.href = "perfil_cliente.php?cliente=<? echo $num_relacion; ?>";
			</script>
			<?
		}
	}
}
 
?>

Les dejare una captura de pantalla referente a la estructura de la tabla CLIENTES:

Captura-de-pantalla-2017-05-05-a-las-3.26.05-p.m

El error que aparece es: SECURITY: Ha ocurrido un error (SQL 1 INSERTAR DATOS A CLIENTES).

Dejo tambien el codigo de el archivo db_config.php

1
2
3
4
5
6
7
8
9
10
11
<?php
 
$host_db = "localhost"; // Host de la BD 
$usuario_db = ""; // Usuario de la BD 
$clave_db = ""; // Contraseña de la BD 
$nombre_db = ""; // Nombre de la BD 
 
//conectamos y seleccionamos db 
$link = mysql_connect($host_db, $usuario_db, $clave_db);
mysql_select_db($nombre_db,$link);
?>

Nota: Cabe resaltar que tengo un archivo aparte donde los datos que cargo directamente desde la base de datos me muestra todo, quiere decir que si conecta bien a la base de datos.


Muchas gracias a los que puedan colaborar !
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

Problema al insertar datos a MYSQL

Publicado por mauricio (2 intervenciones) el 06/05/2017 00:45:29
bueno intenta quitar los values que tienen text en tu formulario porque en la base de datos estan como int como por ejemplo cedula en la bd tiene int y en el fomulario esta como text..
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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al insertar datos a MYSQL

Publicado por kip (877 intervenciones) el 06/05/2017 01:46:18
Hola, intenta colocando el alert de esta forma para que te muestre el error especifico:

1
echo '<script type="text/javascript">alert("SECURITY: Ha ocurrido un error (SQL 1 INSERTAR DATOS A CLIENTES) ' . mysql_error($link) . '");</script>';

Una vez identifiques el error se te sera mas facil solucionarlo.

Por cierto, trata en lo posible de usar la extension mysqli en lugar de mysql http://php.net/manual/es/book.mysqli.php
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