1

コードを起動すると、クエリが失敗し、次のエラーが表示されます。

mysqli_query() は、パラメーター 1 が mysqli であると想定します。

mysqli_error() は、パラメーター 1 が mysqli であると想定します。

<?php
include('mysql_config.php');

function mysqlConnect()
{
    global $mysql_hostname, $mysql_username, $mysql_password, $mysql_database;
    $link = mysqli_connect($mysql_hostname, $mysql_username, $mysql_password) 
    or die('Could not connect: ' . mysqli_error());
    mysqli_select_db($link,$mysql_database) or die('Could not select database');
    return $link;
}

function mysqliClose($link)
{
    mysqli_close($link);
}

function sendQuery($query)
{
    $result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error("could not query"));
    return $result;
}

?>

mysqli_query および mysqli_error 関数を適切にフォーマットするにはどうすればよいですか?

4

1 に答える 1

2

上記のコードには2つのエラーがあります。

  • あなたはなど$link globalとして宣言するのを逃しました。$mysql_hostname
  • mysqli_error()期待する間違った引数タイプをmysqli渡して、string

私はあなたの例を変更しました:

<?php

include('mysql_config.php');

// declaring an additional global var.
$link = NULL;

function mysqlConnect()
{
    global $link; // using the global $link
    global $mysql_hostname, $mysql_username, $mysql_password, $mysql_database;
    $link = mysqli_connect($mysql_hostname, $mysql_username, $mysql_password) 
    or die('Could not connect: ' . mysqli_connect_error());
    mysqli_select_db($link,$mysql_database) or die('Could not select database');
    return $link;
}

function mysqliClose($link)
{
    mysqli_close($link);
}

function sendQuery($query)
{
    global $link; // using the global $link
    $result = mysqli_query($link, $query) or die('Query failed: '
      . mysqli_error($link)); // note $link is the param
    return $result;
}
于 2012-12-22T13:02:53.640 に答える