连接到数据库时出现PHP错误

时间:2012-10-25 10:55:03

标签: php database database-connection

我正在尝试使用此代码连接到我创建的数据库:

<?php
function Conectarse()
{
    $host="localhost";
    $user="root";
    $password="root";
    $bda="toobebe_catalogo";

    if (!($link=mysql_connect($host,$user,$password)))
    {
        echo "Error conectando a la base de datos.<br>";
        exit();
    }
    else
    {
        echo "Éxito conectando con la base de datos.<br>";
    }

    if (!mysql_select_db($bda,$link))
    {
        echo "Error seleccionando la base de datos.<br>";
        exit();
    }
    else
    {
        echo "Éxito al encontrar la base de datos.<br>";
    }
    return $link;
}

$conn=Conectarse();

$sql="SELECT * FROM toobebe-octubre";
$db_fila = mysql_query($sql,$conn);
$ok=1;

while (($row = mysql_fetch_array($db_fila)) && $ok) 
{
    $valor=mysql_query($sql,$conn);

if(!$valor)
{
    $ok=0;
}   
}

&GT;

但是当我执行它时会触发这个错误:

 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ...

我一直在寻找,并知道: - 数据库存在

  • 权限正确

  • 表存在

  • 表格不为空

为什么会发生这种错误?

修改 添加错误图像: Image error

1 个答案:

答案 0 :(得分:2)

错误不是连接到数据库,而是连接到您的查询。您的表名中有一个连字符,因此您应该尝试按如下方式将其括起来:

$sql = "SELECT * FROM `toobebe-octubre`";
$db_fila = mysql_query($sql, $conn);
$ok = 1;

while(($row = mysql_fetch_array($db_fila)) && $ok) 
{
    $valor=mysql_query($sql, $conn);
    if(!$valor)
    {
       $ok=0;
    }   
}

使用mysql_*的一些提示现在已被严重弃用。您应该至少使用mysqli_*或PDO。

另外,SELECT *通常被认为是一种不好的做法,因为我真的怀疑你确实需要从表中所有