AYUDA CON MI CÓDIGO

Iniciado por Christopher Bryan, 9 Agosto 2014, 06:13 AM

0 Miembros y 1 Visitante están viendo este tema.

Christopher Bryan

Buenas noches, ¿pueden ayudarme con este error? El Script sirve para registrar usuarios en una página que estoy desarrollando, pero me marca algunos errores. Ya cheque la documentación pero no se qué está mal, espero puedan ayudarme  Este es mi código:


<?php 
if($con=mysqli_connect("HOST","USER","PASS","DB")){
$q1=mysqli_real_escape_string($con,htmlentities($_POST["f1"]));
$Query=mysqli_query($con,"SELECT * FROM [TABLE] WHERE EMAIL=".$q1);
if(
mysqli_num_rows($Query)==0){
$q2=mysqli_real_escape_string($con,htmlentities($_POST["f2"]));
$q3=mysqli_real_escape_string($con,htmlentities($_POST["f3"]));
$q4=($_POST["f4"]=="male")?1:0;
$q5=mysqli_real_escape_string($con,htmlentities($_POST["f5"]));
$q6=mysqli_real_escape_string($con,htmlentities($_POST["f6"]));
$q7=mysqli_real_escape_string($con,htmlentities($_POST["f7"]));
$q8=mysqli_real_escape_string($con,htmlentities($_POST["f8"]));
$q9=($_POST["f9"]>=&& $_POST["f9"]<=31)?$_POST["f9"]:01;
$q10=($_POST["f10"]>=&& $_POST["f10"]<=12)?$_POST["f10"]:01;
$q11=(($_POST["f11"]>=idate("Y")-99) && ($_POST["f11"]<=idate("Y")-10))?$_POST["f11"]:(idate("Y")-10);
$stmt=mysqli_prepare($con,'INSERT INTO [TABLE] VALUES("'.$q1.'","'.$q2.'","'.$q3.'",'.$q4.',"'.$q5.'","'.$q6.'","'.$q7.'","'.$q8.'",'.$q9.','.$q10.','.$q11.',0)');
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
mysqli_free_result($Query);
} else 
header("Location: index.php?msg=AAU"); // AcountAlreadyUsed
mysqli_close($con);
}else{
header("Location: Error.html");}
?>



while(!success)
{
     KeepTrying(objective);
     if(die)
         break;
}

engel lex

rayos no han intentado googlear ese error?

aquí hace ratico respondí ese justo mismo error... solo que el tuyo probablemente está en el
[/b] que tienes por ahí

http://foro.elhacker.net/php/ayuda_error-t419685.0.html;msg1959479#msg1959479
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

WHK

Y si reemplazas
por el nombre de la tabla?, generalmente cuando la sintaxis de la query falla el retorno del puntero es false y no la query como objeto.

Cambia:
$Query=mysqli_query($con,"SELECT * FROM [TABLE] WHERE EMAIL=".$q1);
if(mysqli_num_rows($Query)==0){


Por:
if(
    ($Query=mysqli_query($con,"SELECT * FROM tabla WHERE EMAIL='".$q1."'")) and
    (!mysqli_num_rows($Query))
){


Otro error que tiene tu consulta es que el correo no está encerrado en comillas asi que mysql está intentando interpretar el arroba. Cuidado con las inyecciones sql.

Saludos.