【问题标题】:Trying to connect database MySQL from PHP (Not Successful)尝试从 PHP 连接数据库 MySQL(不成功)
【发布时间】:2013-11-11 21:47:19
【问题描述】:

我正在网上学习有关 PHP 和 MySQL 的教程。

我正在使用 Linux。我正在尝试建立与数据库的连接,但它不工作。 我有我的数据库:

create database test;
create table user(name text, pass text);
insert into user values('john', '123');

然后是我的 php:

<?php

    $_host = "localhost";
    $_dbuser = "root"
    $_dbpass = "";
    $_dbname = "test";

    @mysql_connect("$_host", "$_dbuser", "$_dbpass") or die("could not connect");
    @mysql_select_db("$_dbname") or die("no database");

    echo "connection stablished";

?> 

我的文件的输出只是浏览器上的一个空白选项卡。 我应该怎么做才能解决这个问题?我做错了什么?

提前谢谢你。我对网络编程很陌生。

【问题讨论】:

  • 不要使用mysql_;使用 mysqli_。不推荐使用 mysql_* 函数。见stackoverflow.com/questions/12859942/…
  • $_dbname = test";。您没有在两端用双引号将字符串括起来。应该阅读$_dbname = "test";
  • 感谢您的更正。我已经更正了它,但仍然给了我空白页。一定是别的东西
  • 现在您编辑了您的问题。如果您在die 中没有看到could not connect,那么您在其他地方遇到了问题。
  • 您应该删除“@”,因为您不应该隐藏您的错误,无论您是否有 die() 子句。

标签: php mysql database localhost


【解决方案1】:
$_host = "localhost";
$_dbuser = "root"
$_dbpass = "";
$_dbname = "test";

$link = mysqli_connect($_host, $_dbuser, $_dbpass, $_dbname);

if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo "connection stablished";

现在...

  1. 不推荐使用 mysqli_* 函数作为 mysql_*
  2. 稍后您将需要$link 变量进行查询。
  3. 如果你是新手,请阅读:How can I prevent SQL injection in PHP?
  4. 准备好的报表 FTW!记住!

【讨论】:

  • 谢谢。从它进入 mysql 函数(任何一个)的那一刻起,php 脚本就停止工作。 msql_ msqli_ 函数之前的所有内容都会出现,但之后不会出现。
  • 在您的 php 文件的开头添加此 ini_set('display_errors', 1); 并重试。告诉我们是否有任何错误。也许您没有启用mysqlimysql 扩展?
  • 出现如下:“致命错误:在第 6 行的 /home/username/www/test.php 中调用未定义函数 mysqli_connect()”
猜你喜欢
  • 2017-05-06
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 2016-08-21
相关资源
最近更新 更多