0
我一直在php中編碼約一個半月。要查詢數據庫,我通常將$mysqli
傳遞給我所調用的函數。我將db.php包含在我打電話的地方。代碼有時會起作用,有時無任何原因失敗。我寫了一個頁面,並在那裏引入了一些功能。在我開發的過程中,它工作了上千次。現在它停止傳遞$mysqli
對象,並且函數中的代碼開始抱怨,並且沒有理由。我沒有改變任何東西。 發生在很多場合,當我通過$mysqli
,它不知道它是否會通過。這是什麼問題?f通過mysqli函數不能如預期的那樣工作
function getsubjectname($mysqli, $subjectid)
{
$query="select SubjectName from user_subject where SubjectId=?";
$stmt=$mysqli->stmt_init();
$stmt->prepare($query);
$stmt->bind_param('i', $subjectid);
$stmt->execute();
$stmt->bind_result($SubjectName);
$stmt->fetch();
return $SubjectName;
}
在上面的代碼中,它直到現在才收到$ mysqli對象。但現在看不到它。 當我在函數中包含$mysqli=new MySQLi('localhost','root','','spiralblog');
時,它就起作用了。
編輯
<div style='font-size:24px;'>
<?php if(!isset($_GET['subjectid']))
{
$row=getpinnedsubject($mysqli, $userid); echo $row['SubjectName'];
} else {
echo getsubjectname($mysqli, $_GET['subjectid']);
}?>
</div>
此代碼是在index.php和調用函數是在另一個頁面。致力於功能
認爲我們可能需要更多的信息。使用函數的代碼片段。此外,爲什麼不'if(isset($ mysqli)){echo「No SQL Object」; }'? – Twisty
@Twisty我認爲你的'if'需要一個'!'和一個'return'; – Siguza
mysqli對象:它是否包含在腳本示例的頂部:include_once'includes/db_connect.php'; //無論你有沒有它 – Careen