错误:mysqli_error()

时间:2014-06-03 16:29:49

标签: php mysqli

我是这种语言的新手。我有这两个警告。我无法在数据库中插入数据。

$hostname_ligacaobd = "xxxx";
$database_ligacaobd = "xxxx";
$username_ligacaobd = "xxxx";
$password_ligacaobd = "xxxx";
$ligacaobd = mysql_connect($hostname_ligacaobd, $username_ligacaobd, $password_ligacaobd) or trigger_error(mysql_error(),E_USER_ERROR); 
//select database
mysql_select_db($database_ligacaobd,$ligacaobd) or die("cannot select DB");

//open the file
$file= fopen("text.txt", "r") or die("nao abre");

$valores=fgets($file, 100);
$values=explode(" ", $valores);
$tarray=count($values);
$temperatura=$values[$tarray - 3];
$humidade=$values[$tarray - 2];
$ldr=$values[$tarray - 1];

echo"Luminosidade: $ldr \n";
echo"Temperatura: $temperatura  \n";
echo"Humidade: $humidade  \n";
fclose($file);

$datetime=time();
echo(date('d-m-Y  h:i:s', $datetime));

//insert data into database
$sql="INSERT INTO Valores (Id_value, date&time, LDR, Temperatura, Humidade) VALUES (NULL,'$datetime','$ldr','$temperatura','$humidade')";
if (!mysqli_query($ligacaobd,$sql)) 
{
  die('Error: ' . mysqli_error($ligacaobd));
}
echo "1 record added";

mysqli_close($ligacaobd);

我有这个警告: 警告:mysqli_query()期望参数1为mysqli,第34行/Applications/AMPPS/www/Domus_teste/read_txt.php中给出的资源

警告:mysqli_error()期望参数1为mysqli,第37行/Applications/AMPPS/www/Domus_teste/read_txt.php中给出的资源 错误:

2 个答案:

答案 0 :(得分:1)

您尝试做的是混合使用MySQLMySQLi API。没有bueno。

如果您坚持使用mysqli_* API,则应将所有mysql_*函数更改为MySQL,但如果您(教会合唱团排队)想要使用未弃用的内容,使用MySQLi

示例:

if(!mysqli_query($ligacaobd,$sql)) - > if(!mysql_query($ligacaobd,$sql))

die('Error: ' . mysqli_error($ligacaobd)); - > die('Error: ' . mysql_error($ligacaobd));

答案 1 :(得分:0)

使用mysqli_connectmysqli_select_db

更改

$ligacaobd = mysql_connect($hostname_ligacaobd, $username_ligacaobd, $password_ligacaobd) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_ligacaobd,$ligacaobd) or die("cannot select DB");

为:

$ligacaobd = mysqli_connect($hostname_ligacaobd, $username_ligacaobd, $password_ligacaobd) or mysqli_connect_error(); 
mysqli_select_db($ligacaobd, $database_ligacaobd) or die("cannot select DB");
自PHP 5.5.0起,不推荐使用mysql_ *函数,不建议用于编写新代码,因为将来会删除它们。相反,应使用mysqliPDO_MySQL扩展名。

编辑:

$ligacaobd = mysqli_connect($hostname_ligacaobd, $username_ligacaobd, $password_ligacaobd, $database_ligacaobd) or mysqli_connect_error();