0

mysqli-connection が開いていないか、他のファイルからインクルードした関数で使用されていないという問題があります。以下の設定を見てください。すべてのコードを 1 つのファイルに入れると、完全に機能しますが、この方法では何も起こりません。

接続.php

<?php
function connect() {
    $db = new mysqli("host", "user", "pswrd", "database");
    return $db;
}
?>

関数.php

<?php
function get_user_email($user_id) {
    $sql = "SELECT email FROM user_acc WHERE user_id='$user_id'";
    if(!$result = $db->query($sql)) {die("woops!");}
    $data = $result->fetch_assoc();
    return $data['email'];
}
?>

index.php

<?php
include("connection.php");
include("functions.php");
$db = connect();
echo get_user_email(1);
?>
4

1 に答える 1

0

これは、ファイル functions.php を変更することで解決されました。

<?php
function get_user_email($user_id) {
    global $db; //This is what was needed!
    $sql = "SELECT email FROM user_acc WHERE user_id='$user_id'";
    if(!$result = $db->query($sql)) {die("woops!");}
    $data = $result->fetch_assoc();
    return $data['email'];
}
?>

この質問への回答につながる間接的な回答を提供してくれたあなたの常識に感謝します;)

于 2013-05-11T16:32:59.243 に答える