2017-01-24 65 views
-5

请告诉我,错误在哪里。我因该张力,Php,mysql编码错误

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\kalooo1\includes\db.php:2 Stack trace: #0 C:\xampp\htdocs\kalooo1\index.php(21): include() #1 {main} thrown in C:\xampp\htdocs\kalooo1\includes\db.php on line 2

db.php中

<?php 
    mysql_connect("localhost","root","");`` 
    mysql_select_db("kalooo"); 
?> 

的index.php(21)

include("includes/db.php"); 
+0

你正在使用哪个版本的php? 'mysql_ *'API在实际的PHP版本中被删除 – Jens

+0

mysql_ *函数已经在PHP7中被删除! – Zeeshan

+2

这是一个_good_错误消息。这意味着您正在使用更新版本的PHP,并且不再使用_removed_“mysql_ *”函数(自PHP 5.5起,已经_deprecated_)。 –

回答

1

你得到这个错误简单,因为你使用的是不支持mysql_*功能PHP的新版本,这些功能已经被贬值了,完全从最新版本的php中删除。

您应该使用mysqli编写的函数或pdo准备好的语句。使用的mysqli连接到数据库

你会使用这样的:使用PDO

<?php 
$servername = "localhost"; 
$username = "yourusername"; 
$password = "yourpassword"; 
$dbname = "yourdatabse"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
?> 

,你会象这样连接:

<?php 

$host = 'localhost'; 
$db = 'yourdb'; 
$user = 'yourusername'; 
$pass = 'yourpassword'; 
$charset = 'utf8'; 

$dsn = "mysql:host=$host;dbname=$db;charset=$charset"; 
$opt = [ 
    PDO::ATTR_ERRMODE   => PDO::ERRMODE_EXCEPTION, 
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 
    PDO::ATTR_EMULATE_PREPARES => false, 
]; 
$pdo = new PDO($dsn, $user, $pass, $opt); 

?> 

的是在网络上很好的教程,你可以使用,以更好地了解,我个人喜欢这个网站https://phpdelusions.net/pdo你应该访问它,你将成为一个亲在任何时间。

+0

query(“SELECT * FROM select_query”); $ sth-> setFetchMode(PDO :: FETCH_ASSOC); while($ row = $ sth-> fetch()){ \t echo $ row ['Name']。 “
”; \t echo $ row ['Class']。 “
”; \t \t \t \t \t} \t赶上(PDOExcepion $ E){ \t \t回声 “错误:”。 $ E->的getMessage(); \t} \t } ?> –

0

使用mysqli_connect("localhost","root","","db_name"); 或使用 这个店在单独的PHP文件中。 包括这样的文件。 include 'db.php'; 试试这个....

+0

这实际上是如何回答这个问题的? –

+0

#magnus怎么会出错呢回答?我完成了那个ryt – Mahesh

+0

我不知道你是什么意思。它仍然不会告诉OP _为什么他有这个问题,或者为什么“mysqli_connect()”会有所帮助。不是说这是错误的,只是一个好的答案包括一个解释。 –

0

试试这个

<?php 
$con = mysqli_connect("localhost","my_user","my_password","my_db"); 

// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
?> 
+0

警告:mysqli_query()需要至少2个参数,第1行给出的C:\ xampp \ htdocs \ kalooo1 \ index.php 警告:mysqli_fetch_array()期望参数1为mysqli_result,在C:\第24行的xampp \ htdocs \ kalooo1 \ index.php $ run_cats = mysqli_query($ get_cats); while($ cats_row = mysqli_fetch_array($ run_cats)){ –

+0

@mabubkr - 阅读说明书! –

+0

@mabubkr首先检查你的数据库连接与否? –