我正在尝试使用此代码连接到我创建的数据库:
<?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 ...
我一直在寻找,并知道: - 数据库存在
权限正确
表存在
表格不为空
为什么会发生这种错误?
修改 添加错误图像:
答案 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 *
通常被认为是一种不好的做法,因为我真的怀疑你确实需要从表中所有。