繁体   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