即使查询语法正确,mysql_query也会出错

时间:2014-01-12 10:04:05

标签: php mysql sql

$host = "localhost";
$dbname = "my_ales****";
$dbpassword = "";
$dbuser = "ales***";
$conn = mysqli_connect($host, $dbuser, $dbpassword, $dbname) or die("sukotto");

if ($_POST["invia_ricerca"]){
    $nome = $_POST["nome"];
    $query = " SELECT gruppo1 FROM elenco WHERE nome = '$nome' ";
    $risultato = mysql_query($query, $conn) or die("suka");
    echo $risultato;
}

如果我将查询写入phpmyadmin页面就可以了。如果我尝试使用mysql_query启动查询它不起作用并打印“suka”(die())。如果我尝试mysql_error()进入die(),Nothing就会打印出来。

3 个答案:

答案 0 :(得分:1)

您正在使用mysqli_ *函数进行连接,但在查询中您正在使用mysql_query。 它应该由mysqli_query

更改此

$risultato = mysql_query($query, $conn) or die("suka");

$risultato = mysqli_query($query, $conn) or die("suka");

===========编辑====

$host = "localhost";
$dbname = "my_ales****";
$dbpassword = "";
$dbuser = "ales***";
$conn = mysqli_connect($host, $dbuser, $dbpassword, $dbname) or die("sukotto");

if ($_POST["invia_ricerca"]){
   $nome = $_POST["nome"];
   $query = " SELECT gruppo1 FROM elenco WHERE nome = '$nome' ";
   $risultato = mysqli_query($query, $conn) or die("suka");
   $row = $risultato->fetch_array(MYSQLI_NUM);
   printf ("%s\n", $row[0]);  //use %i for integer

}

答案 1 :(得分:0)

$host       = "localhost";
$dbname     = "my_ales****";
$dbpassword = "";
$dbuser     = "ales***";

$conn = mysqli_connect($host, $dbuser, $dbpassword, $dbname) or die("sukotto");

//  Determine if a variable is set and is not NULL
if ( isset($_POST["invia_ricerca"]) )
{
    // Escapes special characters in a string for use in an SQL
    $nome = mysqli_real_escape_string($conn, $_POST["nome"]);

    // Prepare Query
    $query = sprintf("SELECT gruppo1 FROM elenco WHERE nome = '%s'", $nome);

    // Performs a query on the database
    $risultato = mysqli_query($query, $conn) or die( mysqli_error($conn) );

    // Fetch a result row 
    while( $row = mysqli_fetch_array($risultato) ) 
    {
        printf("<p>%s</p>", $row['gruppo1']);
    }

    // Free result
    mysqli_free_result($risultato)
}

PS。死(“suka”)èfantastico;)

答案 2 :(得分:0)

你错过了使用mysql的mysqli。试试这个:

$host = "localhost";
$dbname = "my_ales****";
$dbpassword = "";
$dbuser = "ales***";
$conn = mysqli_connect($host, $dbuser, $dbpassword, $dbname) or die("sukotto");

if ($_POST["invia_ricerca"]){
$nome = $_POST["nome"];
$query = " SELECT gruppo1 FROM elenco WHERE nome = '$nome' ";
$risultato = mysqli_query($conn,$query) or die("suka");
if ($risultato) {
  while ($row = mysqli_fetch_assoc($risultato)) {
   print_r($row);   
  }
 mysqli_free_result($risultato);
}
}