用PHP连接到我的数据库

I want to connect my HTML page to my database but I”m not getting it not sure why. What’s wrong with the code?

<?php
$con = mysqli_connect("localhost","root","","sibd02");

$query = sprintf("SELECT*FROM fornecedor ",
$result = mysql_query($query);

if (mysqli_connect_errno()) {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
 mysqli_close($con);


?>

Mixing MySQL and MySQLi won't work. You can simply do this:

<?php

/* ESTABLISH CONNECTION */

$con=mysqli_connect("localhost","root","","sibd02");

if(mysqli_connect_errno()){

echo "Error".mysqli_connect_error();

}

$query = "SELECT * FROM fornecedor";
$result = mysqli_query($con,$query); /* EXECUTE QUERY */

/* IF YOU WANT TO PRINT THE RESULTS, HERE IS AN EXAMPLE: */

while($row=mysqli_fetch_array($result)){

echo $row['column']." ".$row['column2']." ".$row['column3']; /* JUST REPLACE THE NECESSARY COLUMN NAME */

} /* END OF WHILE LOOP */

mysqli_close($con);

?>

There are lots of issues with your code. Here is my cleaned up version of your code which should work:

// Set the connection or die returning an error.
$con = mysqli_connect("localhost", "root", "sibd02") or die(mysqli_connect_errno());

// Set the query.
$query = "SELECT * FROM fornecedor";

// Run the query.
$result = mysqli_query($con, $query) or die(mysqli_connect_errno());

// Print the result for initial testing.
echo '<pre>';
print_r($result);
echo '</pre>';

// Free the result set.
mysqli_free_result($result);

// Close the connection.
mysqli_close($con);

So let’s look at your original code with notes below on each issue:

$con = mysqli_connect("localhost","root","","sibd02");

$query = sprintf("SELECT*FROM fornecedor ",
$result = mysql_query($query);

if (mysqli_connect_errno()) {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_close($con);
  • First this line $query = sprintf("SELECT*FROM fornecedor ", is incorrect syntax in PHP. And the sprintf is not needed.
  • Then your MySQL query would fail because it has it’s own syntax error: SELECT*FROM fornecedor That SELECT*FROM should have spaces like this SELECT * FROM.
  • Then you are using mysqli_connect for the connection but then using mysql_query for the query. Those are two 100% different functions in different classes. Mixing them like this will never work.