简体   繁体   中英

mysql_connect not working with php?

My code only shows a blank page with no text. Why could the mysql_connect not connect to the database?

I am using MySQL version is 5.0.77 and PHP version is 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);

Well i wold like to point out one by one

1. you are using !con which is invalid and generate error

Notice: Use of undefined constant con - assumed 'con' in blabla on line bla connected

to use like this you need to declare constant which i think you don't want so use

if(!$con){

2. The entire ext/mysql PHP extension, which provides all functions named with the prefix mysql_, is officially deprecated as of PHP v5.5.0 and will be removed in the future. So use either PDO or MySQLi

Good read

  1. The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
  2. PDO Tutorial for MySQL Developers
  3. Pdo Tutorial For Beginners

3. as i saw in comment you have not turned on error reporting you can do this by in php.ini file

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

4. do not use # for comment however its same as // comment and cause no problem till 5.5.0alpha3 live result . however its( # ) deprecated Comments starting with '#' are now deprecated in .INI files. so its better to use

  1. For single line comment // this is single line comment
  2. For multiline comment /* this is multiline comment */

First try Following code only

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

Then see the result and update here

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. Check here for detailed information

使用mysqli_connect而不是mysql_connect

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM