validar insertar hacer ejemplos datos con como php mysqli registration

insertar - Compruebe si ya hay un usuario y luego inserte en la base de datos php



registrar datos en mysql con php (1)

Ha mezclado el Procedural style y el Object oriented style para ejecutar la consulta.

Cuando usas,

1) Estilo de procedimiento

$result = mysqli_query($mysqli, "Your Query");

usa esto, $row_count = mysqli_num_rows($result);

2) Estilo orientado a objetos

$result = $mysqli->query("Your Query");

Use esto, $row_count = $result->num_rows;

Por lo tanto, de acuerdo con su código, está utilizando el estilo orientado a objetos. Entonces, necesitas cambiar

$result = mysqli_query($mysqli,"SELECT username FROM users WHERE username = ''$username''");

a

$result = $mysqli->query("SELECT username FROM users WHERE username = ''$username''");

Código editado.

$email = $_POST[''email'']; $password= password_hash($_POST[''password''], PASSWORD_BCRYPT, $options); $username= $_POST[''username'']; $result = $mysqli->query("SELECT username FROM users WHERE username = ''$username''"); $row_count = $result->num_rows; if($row_count == 1) { echo ''User exists''; } else { $query = "INSERT INTO users (username, email, password) VALUES(?, ?, ?)"; $statement = $mysqli->prepare($query); //bind parameters for markers, where (s = string, i = integer, d = double, b = blob) $statement->bind_param(''sss'', $username, $email, $password); if($statement->execute()) { print ''Success! ID of last inserted record is : '' .$statement->insert_id .''<br />''; } else { die(''Error : (''. $mysqli->errno .'') ''. $mysqli->error); } $statement->close(); }

Para obtener más información, consulte este mysqli_num_rows vs -> num_rows

Mi código funciona, si deseo insertarlo en la base de datos, pero mi comprobación de si el usuario ya existe no funciona.

* Pensé que la idea era verificar si ya existe una fila con ese nombre de usuario, si es así no agregue ese usuario a la base de datos, sino

$email = $_POST[''email'']; $password= password_hash($_POST[''password''], PASSWORD_BCRYPT, $options); $username= $_POST[''username'']; $result = mysqli_query($mysqli, "SELECT username FROM users WHERE username = ''$username''"); $row_count = $result->num_rows; if($row_count == 1){ echo''User exists''; }else{ $query = "INSERT INTO users (username, email, password) VALUES(?, ?, ?)"; $statement = $mysqli->prepare($query); //bind parameters for markers, where (s = string, i = integer, d = double, b = blob) $statement->bind_param(''sss'', $username, $email, $password); if($statement->execute()){ print ''Success! ID of last inserted record is : '' .$statement->insert_id .''<br />''; }else{ die(''Error : (''. $mysqli->errno .'') ''. $mysqli->error); } $statement->close(); }