簡體   English   中英

mysql_connect無法使用php?

[英]mysql_connect not working with php?

我的代碼只顯示一個沒有文字的空白頁面。 為什么mysql_connect無法連接到數據庫?

我使用的MySQL版本是5.0.77,PHP版本是5.1.6

$user = "user";
$password = "user";
#$database = "database";

$con = mysql_connect("localhost",$user,$password);

if (!con) {
    echo "could not connect";
} else {
    echo "connected";
}

if (mysql_query("CREATE DATABASE my_db",$con)) {
     echo "databse created";
}

#@mysql_select_db($database) or die( "Unable to select database");
#$query="CREATE TABLE tablename(id int(6) NOT NULL auto_increment,first varchar(15) NOT NULL,last varchar(15) NOT NULL,field1-name varchar(20) NOT NULL,field2-name varchar(20) NOT NULL,field3-name varchar(20) NOT NULL,field4-name varchar(30) NOT NULL,field5-name varchar(30) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";
#mysql_query($query);
mysql_close($con);

好吧,我想逐一指出

1.你正在使用!con無效並產生錯誤

注意:使用未定義的常量con - 假設'con'在blabla線上bla連接

要像這樣使用你需要聲明常量,我認為你不想這樣使用

if(!$con){

2.整個ext/mysql PHP擴展,提供所有以前綴mysql_命名的函數, 從PHP v5.5.0開始正式棄用,將來會被刪除。 所以使用PDOMySQLi

好讀

  1. 不推薦使用mysql擴展,將來會刪除它:使用mysqli或PDO代替
  2. MySQL開發人員的PDO教程
  3. Pdo初學者教程

3.正如我在評論中看到的,您沒有打開錯誤報告,您可以在php.ini文件中執行此操作

ini_set('display_errors', 1);
error_reporting(E_ALL);

4.不要使用#作為注釋,但與//注釋相同,直到5.5.0alpha3 實時結果 才會導致問題。 但是它的( # )已棄用。以'#'開頭的注釋現在已在.INI文件中棄用。 所以它更好用

  1. 對於單行注釋// this is single line comment
  2. 對於多行注釋/* this is multiline comment */

首先嘗試僅使用以下代碼

<?php
$user="user";
$password="user";
$con=mysqli_connect("localhost",$user,$password);
if(!$con)
{
echo "could not connect" ;
}
else
{
echo "connected";
}
?>

然后查看結果並在此處更新

此擴展在PHP 5.5.0中已棄用,並且已在PHP 7.0.0中刪除。 相反,應該使用MySQLi或PDO_MySQL擴展。 點擊此處查看詳細信息

使用mysqli_connect而不是mysql_connect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM