に私のコードです:ここではPHP/MySQLiを - 致命的なエラー:メンバ関数mysqli_queryに呼び出し()ここで非オブジェクト
require "../include/functions.php";
error_reporting(E_ALL);
ini_set('display_errors', '1');
ConnectWithMySQLiDatabase();
$Cat = addslashes($_POST["Category"]);
$v = $conn->mysqli_query($conn,"SELECT * FROM `categories` WHERE `id`=$Cat");
$vrowi = mysqli_fetch_array($v, MYSQLI_ASSOC);
$url = $conn->real_escape_string($vrowi['Link']);
は私がfunctions.php
に持っているものです。
function ConnectWithMySQLiDatabase() {
global $dbhost, $dbuser, $dbpass, $database, $HTTP_SERVER_VARS;
$conn = new mysqli($dbhost, $dbuser, $dbpass, $database);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$conn->set_charset("utf8");
global $conn;
}
変数$dbhost, $dbuser, $dbpass, $database,
が正しく設定されています。
私はこのmysqli_queryを実行しようとすると、私は、次のエラーが表示さ:
<b>Fatal error</b>: Call to a member function mysqli_query() on a non-object in <b>/fetch_category_products.php</b> on line <b>19</b><br />
ライン19は以下のとおりです。
$v = $conn->mysqli_query($conn,"SELECT * FROM `categories` WHERE `id`=$Cat");
私のミスで、どのように私はそれを修正することができますどこを教えてくださいすることができ?
ありがとうございます!データベース接続が機能していないので、
**危険**:あなたがしています* * [防御](http://stackoverflow.com/questions/60174/best-way-to-prevent-)が必要な[SQLインジェクション攻撃](http://bobby-tables.com/)**に脆弱です。 sql-injection-in-php)からあなた自身を削除してください。 ( 'addslashes'は安全ではありません。' addslashes'のドキュメントでもそうです) – Quentin
私は何を置き換える必要がありますか? 'mysqli_real_escape_string'? –
@TonyStarkあなたのデータベース作業には、PDOの使用を検討してください。 – TwoStraws