php - solucion - Error fatal: Error no detectado: Llamada a la función indefinida mysql_connect()
php fatal error uncaught error call to undefined function mysql_set_charset() (9)
Estoy tratando de hacer una conexión simple con XAMPP y el servidor MySQL, pero cada vez que intento ingresar datos o conectarme a la base de datos, aparece este error.
Error fatal: Error no detectado: Llamada a la función indefinida mysql_connect () en C: / xampp / htdocs / register.php: 22
Seguimiento de pila: # 0 {main} arrojado en C: / xampp / htdocs / register.php en la línea 22
Ejemplo de línea 22:
$link = mysql_connect($mysql_hostname , $mysql_username);
Asegúrate de no haber cometido un error tipográfico como en mi caso
msyql_fetch_assoc debería ser mysql
Como sugieren otras respuestas ... Algún tipo (por cualquier razón) decidió que su código anterior no debería funcionar cuando actualiza su PHP, porque él sabe mejor que usted y no le importa lo que hace su código o lo simple que es. usted para actualizar
Bueno, si no puedes actualizar tu proyecto de la noche a la mañana, puedes
degrada tu versión de PHP a la versión que funcionó
o...
use una cuña (tipo de polyfill) como https://github.com/dshafik/php7-mysql-shim o https://github.com/dotpointer/mysql-shim , y luego encuentre un lugar para
include_once("choice_shim.php");
en algún lugar de tu código
Eso mantendrá su antiguo código PHP en funcionamiento hasta que esté de humor para actualizar ...
Para mysqli puedes usar:
$ db = ADONewConnection (''mysqli'');
... ...
$ db-> execute ("establecer nombres ''utf8''");
Se recomienda usar las extensiones MySQLi o PDO. No se recomienda usar la antigua extensión mysql para un nuevo desarrollo, ya que fue desaprobada en PHP 5.5.0 y se eliminó en PHP 7.
PHP ofrece tres API diferentes para conectarse a MySQL. A continuación mostramos las API proporcionadas por las extensiones mysql, mysqli y PDO. Cada fragmento de código crea una conexión a un servidor MySQL que se ejecuta en "example.com" utilizando el nombre de usuario "nombre de usuario" y la contraseña "contraseña". Y se ejecuta una consulta para saludar al usuario.
Ejemplo # 1 Comparando las tres API MySQL
<?php
// mysqli
$mysqli = new mysqli("example.com", "username", "password", "database");
$result = $mysqli->query("SELECT ''Hello, dear MySQL user!'' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row[''_message'']);
// PDO
$pdo = new PDO(''mysql:host=example.com;dbname=database'', ''username'', ''password'');
$statement = $pdo->query("SELECT ''Hello, dear MySQL user!'' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row[''_message'']);
// mysql
$c = mysql_connect("example.com", "username", "password");
mysql_select_db("database");
$result = mysql_query("SELECT ''Hello, dear MySQL user!'' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row[''_message'']);
?>
Le sugiero que pruebe MySQLi y PDO y descubra qué diseño de API prefiere.
Lea Elegir una API y ¿Por qué no debería usar las funciones mysql_ * en PHP?
mysql_*
funciones
mysql_*
se han eliminado en PHP 7.
Ahora tiene dos alternativas: MySQLi y PDO .
La siguiente es una comparación antes (-) y después (+) de algunos cambios comunes en MySQLi, sacados directamente del código de trabajo:
-if (!$dbLink = mysql_connect($dbHost, $dbUser, $dbPass))
+if (!$dbLink = mysqli_connect($dbHost, $dbUser, $dbPass))
-if (!mysql_select_db($dbName, $dbLink))
+if (!mysqli_select_db($dbLink, $dbName))
-if (!$result = mysql_query($query, $dbLink)) {
+if (!$result = mysqli_query($dbLink, $query)) {
-while ($row = mysql_fetch_array( $result, MYSQL_ASSOC )) {
+while ($row = mysqli_fetch_array( $result, MYSQLI_ASSOC )) {
-mysql_close($dbLink);
+mysqli_close($dbLink);