【问题标题】:How to connect to DB and retrieve data from DB? [duplicate]如何连接到数据库并从数据库中检索数据? [复制]
【发布时间】:2018-02-19 20:37:36
【问题描述】:

我正在使用 XAMPP。我试图在网页上转储我的 db_data。错误消息是“调用未定义的函数 mysql_connect”。我应该导入一些文件吗?

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if(! $conn ) {
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT *
  FROM uam';

mysql_select_db('demo');
$retval = mysql_query( $sql, $conn );

if(! $retval ) {
  die('Could not get data: ' . mysql_error());
}

while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
  echo "Tutorial ID :{$row['id']}  <br> ".
     "username: {$row['username']} <br> ".
     "email: {$row['email']} <br> ".
     "password : {$row['password']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

或者我应该修改我的代码吗??

【问题讨论】:

  • 不要使用mysql函数。它未定义,因为它已从 PHP 7 中删除。请改用 mysqli 或 PDO。
  • @Don'tPanic 这应该是一个答案。
  • 你也不需要输出密码,无论是否加密。
  • @Mark 该评论只是一个占位符,而我找到了 CV 的副本。
  • @Don'tPanic 我对链接到该副本的唯一担心是我们不知道他是否真的在使用 PHP7。

标签: php mysql xampp


【解决方案1】:

避免使用 MySQL 函数,它们现在已经贬值,这就是你得到的原因 未定义的错误,PHP 7 也不再支持它。

通过将配置更改为以下代码来使用 MySQLI 函数

$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = '';
$dbname = 'dbname';

$conn = new mysqli($dbhost , $dbuser, $dbpass,  $dbname);

if(! $conn ) {
  die('Could not connect: ' . mysql_error());
}

【讨论】:

    【解决方案2】:

    出现这种情况是因为新版本的 PHP 不支持 mysql_connect 尝试使用 mysqli_connect

    $dbhost = 'localhost:3036';
    $dbuser = 'root';
    $dbpass = '';
    $dbname = 'demo';
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
    

    【讨论】:

    • 或者你可以/应该使用 PDO。
    • 是的,我使用 PDO,因为它更受保护,因为他想使用 mysqli_connect,所以我回答了这个
    • 不,他正在使用过时的 API。你在做一个假设。
    【解决方案3】:
         <?php
         $dbhost = 'localhost:3306';
         $dbuser = 'root';
         $dbpass = '';
         $dbname = 'TUTORIALS';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
    
         if(! $conn ) {
            die('Could not connect: ' . mysqli_error());
         }
         echo 'Connected successfully<br>';
         $sql = 'SELECT name FROM tutorials_inf';
         $result = mysqli_query($conn, $sql);
    
         if (mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_assoc($result)) {
               echo "Name: " . $row["name"]. "<br>";
            }
         } else {
            echo "0 results";
         }
         mysqli_close($conn);
      ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 2011-03-08
      • 2016-11-13
      • 2014-03-14
      • 1970-01-01
      • 2017-04-07
      相关资源
      最近更新 更多