
Problema al insertar en BD de Oracle
Publicado por Garen (28 intervenciones) el 29/07/2016 22:12:22
tengo una tabla usuario en Oracle 11g express, y necesitaba que cuando se tratara de registrar un nickname que ya estuviera en la DB, desplegara un mensaje diciendo que el nickname ya estaba en uso, hasta el momento lo unico que hacia el formulario era insertar datos, pero cuando le añadi la validacion, el formulario ya no inserta datos
aca dejo el codigo
aca 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
<?php
error_reporting(E_ALL ^ E_NOTICE);
$nombre = htmlspecialchars($_POST["nombre"]);
$apellido = htmlspecialchars($_POST["apellido"]);
$nick = htmlspecialchars($_POST["nick"]);
$email = htmlspecialchars($_POST["mail"]);
$pass = htmlspecialchars($_POST["password"]);
$desc = htmlspecialchars($_POST["descripcion"]);
$conn = oci_connect('PROYECTO','oracle2016','localhost/xe');
$sql = "SELECT * FROM USUARIO WHERE NICKNAME = '$nick' ";
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
while($row = oci_fetch_array($stmt)){
foreach($row as $columna=>$item ){
if($columna == 2){
echo $nick;
if($nick == $item){
echo "<script type='text/javascript'>alert('El Nickname ya esta en uso .$item.');</script>";
}if($nick != $item){
$sql = "INSERT INTO USUARIO( NOMBRE,APELLIDO,NICKNAME,EMAIL,PASSWORD,DESCRIPCION )
VALUES ('".$nombre."','".$apellido."','".$nick."','".$email."','".$pass."','".$desc."')";
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);//EJECUTAMOS CONEXION
oci_commit($conn);
oci_free_statement($stmt);
echo"<script type='text/javascript'>alert('Usted ya ha sido registrado');
window.location='http://localhost/conn/pagina/foro5/paginaweb/Perfil.html';</script>";
}
}
}
}
oci_close($conn); //CERRAMOS CONEXION
?>
Valora esta pregunta


0