Ayuda con código al pasar a mysqli
Hola, tengo unos Warning: en base a mysqli_real_escape_string, Warning: mysqli_select_db y Warning: mysqli_query... dicen
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in C:\xampp\htdocs etc...
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs etc...
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs etc...
Segun tengo entendido es mas o menos que tengo cambiada la forma de contruccion de la "operación" que esperan otros parametros a los que yo uso o coloco, (no sabría bien explicarme)
os pego el codigo por si me podeis guiar ya que viene de GetSQLValueString
Un saludo gracias
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in C:\xampp\htdocs etc...
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs etc...
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs etc...
Segun tengo entendido es mas o menos que tengo cambiada la forma de contruccion de la "operación" que esperan otros parametros a los que yo uso o coloco, (no sabría bien explicarme)
os pego el codigo por si me podeis guiar ya que viene de GetSQLValueString
Un saludo gracias
<?php require_once('../Connections/sbrweb.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysqli_real_escape_string") ? mysqli_real_escape_string($theValue) : mysqli_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } ?> <?php // *** Validate request to login to this site. if (!isset($_SESSION)) { session_start(); } $loginFormAction = $_SERVER['PHP_SELF']; if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; } if (isset($_POST['email'])) { $loginUsername = mysqli_real_escape_string($_POST['email']); $password = mysqli_real_escape_string ($_POST['password']); $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "../tienda/Catalog.php"; $MM_redirectLoginFailed = "errorlogin.php"; $MM_redirecttoReferrer = false; mysqli_select_db($database_db, $conexion); $LoginRS__query=sprintf("SELECT idusuario, email, password, estado, username FROM usuarios_sbr WHERE email=%s AND password=%s AND estado=1", GetSQLValueString($loginUsername, "text"), GetSQLValueString(md5($password), "text")); $LoginRS = mysqli_query($LoginRS__query, $conexion)or die(mysqli_error()); $elusername= mysqli_fetch_assoc($LoginRS); $loginFoundUser = mysqli_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();} //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; $_SESSION['MM_username'] = $elusername ["username"]; $_SESSION['MM_idUsuario'] = $elusername ["idusuario"]; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?>
0
Puntos
Puntos
2152
Visitas
Visitas
6
Resp
Resp
Por Drums hace 50 meses
Principiante
Respuesta #1
ok perdonad, ya está, faltaba la conexion en GetSQLvalueString oh ...
$theValue = function_exists("mysqli_real_escape_string") ? mysqli_real_escape_string($conexion,$theValue) : mysqli_escape_string($conexion,$theValue);
0
Puntos
Puntos
Por Drums hace 50 meses
Principiante
Respuesta #2
perdón de nuevo, no puedo editar el post de arriba, no está, siguen los Warning: me hice ilusiones y ... :/
0
Puntos
Puntos
Por Drums hace 50 meses
Principiante
Respuesta #3
Hola de nuevo vale ya encontre que pasaba, faltaba la conexión $conexion antes de post 'email' y password
if (isset($_POST['email'])) { $loginUsername = mysqli_real_escape_string($conexion,$_POST['email']); $password = mysqli_real_escape_string ($conexion,$_POST['password']);
0
Puntos
Puntos
Por Drums hace 50 meses
Principiante
Respuesta #4
hola con esto deberías de solucionar el problema, yo siempre lo uso como ejemplo:
https://datoweb.com/post/2486/ejemplos-de-como-usar-mysqli-de-manera-facil
https://datoweb.com/post/2608/formatear-cadena-con-funcion-getsqlvaluestring-en-mysqli
https://datoweb.com/post/2486/ejemplos-de-como-usar-mysqli-de-manera-facil
https://datoweb.com/post/2608/formatear-cadena-con-funcion-getsqlvaluestring-en-mysqli
1
Puntos
Puntos
Por alber hace 50 meses
Administrador
Respuesta #5
alber dijo: hola con esto deberías de solucionar el problema, yo siempre lo uso como ejemplo:Gracias alber, los estoy usando, gracias a ellos poco a poco voy migrando código.
https://datoweb.com/post/2486/ejemplos-de-como-usar-mysqli-de-manera-facil
https://datoweb.com/post/2608/formatear-cadena-con-funcion-getsqlvaluestring-en-mysqli
1
Puntos
Puntos
Por Drums hace 50 meses
Principiante
Respuesta #6
Buenas de nuevo, ya tengo casi todo lo que es el registro y el login corregido, se me está resistiendo esto, me dice no database selected
La conexion la tengo en un php dentro de una carpeta connections.
Luego en los php que la necesiten le hago require_once con lo cual arranco así para iniciar la sesion y no tener que escribir el session start
Un saludo
La conexion la tengo en un php dentro de una carpeta connections.
Luego en los php que la necesiten le hago require_once con lo cual arranco así para iniciar la sesion y no tener que escribir el session start
<?php require_once('../Connections/sbrweb.php'); ?>esto está en una carpeta includes con las funciones, el php se llama funciones_castll, mas abajo tengo este código que me arroja -tras arreglar mucho codigo warning- el no database selected cuando registro un usuario
/*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). Para Localhost tengo lo siguiente:*/ //Configuración. $hostname_db = "localhost"; $database_db = "pruebadb"; $username_db = "root"; $password_db = ""; $conexion = new mysqli($hostname_db, $username_db, $password_db); $inserta = "INSERT INTO users_temp (nombre, usersTemp, password, email, fecAlta, txt_Activ) VALUES ('$name_','$username_','$password1_','$email_', CURDATE(),'$clave')"; $resultado3=mysqli_query($conexion,$inserta) or die (mysqli_error($conexion)); if (!$resultado3) return false; else return true; }si meto la variable database_db a la conexion arroja una mountruosidad de error. No encuentro por google gran cosa, a ver si sabeis que puede ser, no se, si falta conexion global o algo, ya digo que tiene su require_once al inicio de la página.
Un saludo
0
Puntos
Puntos
Por Drums hace 50 meses
Principiante