[英]Fatal error: Call to a member function prepare() on a non-object ERROR
[英]Fatal error: Call to a member function prepare() on a non-object in
这就是我如何构建发送器信息到一个php文件发送到登录页面的时候
<form action="http://,,,.dk/activate_updater.php" method="post" name="formular" onsubmit="return validerform ()">
<table border="0">
<tr>
<td id="tb-w_a"><p>Kategori</p></td>
<td>:</td>
<td>
<select name="kategori">
<?php
$query = "SELECT id_katogori, navn FROM kategori";
$result = $mysqli->query($query);
while(list($id_katogori, $navn) = $result->fetch_row())
{
echo "<option value=\"$id_katogori\">$navn</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td id="tb-w_a"><p>Djnavn</p></td>
<td>:</td>
<td><input type="text" name="djnavn"></td>
</tr>
<tr>
<td id="tb-w_a"><p>Facebook</p></td>
<td>:</td>
<td><input type="text" name="facebook"></td>
</tr>
<tr>
<td id="tb-w_a"><p>Pris</p></td>
<td>:</td>
<td><input type="text" name="pris"></td>
</tr>
<tr>
<td id="tb-w_a"><p>Booking Email</p></td>
<td>:</td>
<td><input type="email" name="booking"></td>
</tr>
<tr>
<td id="tb-w_a"><p>Mobil</p></td>
<td>:</td>
<td><input type="text" name="mobil"></td>
</tr>
<tr>
<td id="tb-w_a"><p>Upload Profil</p></td>
<td>:</td>
<td><input type="file" name="profilbillede" /></td>
</tr>
</table>
<textarea name="profiltekst" style="width:500px; height:170px;"></textarea><br />
<input type="submit" value="Godkend brugere" name="godkendt-brugere">
</form>
所以新的页面文件是这样的,页面上有错误 ..
<?php
if($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))
{
$stmt->bind_param('iiiiiiiis', $katogori, $djnavn, $profilbillede, $profiltekst, $facebook, $pris, $booking, $mobil, $g_code);
//fra input ting ting..
$katogori = $_POST["kategori"];
$djnavn = $_POST["djnavn"];
$profilbillede = $_POST["profilbillede"];
$profiltekst = $_POST["profiltekst"];
$facebook = $_POST["facebook"];
$pris = $_POST["pris"];
$booking = $_POST["booking"];
$mobil = $_POST["mobil"];
$g_code = $_GET["code"];
$stmt->execute();
$stmt->close();
header('http://....dk/ (...));
}
else
{
echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
}
?>
但当它进入文件/页面时说它像这样...
致命错误:在第2行的/home/jesperbo/public_html/....dk/activate_updater.php中调用非对象的成员函数prepare()
就是这样说的地方
if($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))
我不是最能看到错误的人,但是如果你看到了我不必要的那些错误,那将是超级的,因为它不会出现在数据库中
希望你能帮我解决这个问题!
据我所知,你从来没有真正创建你的$mysqli
对象(除非它被加载到另一个文件中,包括这个文件)。 你需要创建它 :
$mysqli = new MySQLi('localhost', 'username', 'password', 'dbname');
// then
if($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))
发生这种情况是因为$mysqli
不是您认为的对象。 您没有正确实例化MySQLi
类,或者它没有建立连接。 做一个var_dump($mysqli)
来获取更多关于出错的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.