2

这就是我必须将发射器信息构建到 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`=?'))

我不是最能看到错误的人,但如果你看到我不必要的错误,那就太好了,因为它不会出现在数据库中

希望你能帮我解决这个问题!

4

2 回答 2

5

据我所知,您从未真正创建过您的$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`=?'))
于 2012-05-21T16:58:45.387 回答
4

发生这种情况是因为$mysqli不是您认为的对象。要么你没有MySQLi正确地实例化这个类,要么它没有建立连接。执行 avar_dump($mysqli)以获取有关问题所在的更多信息。

于 2012-05-21T17:01:18.087 回答