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クラスを適切にインスタンス化していないか、接続を確立していません。何var_dump($mysqli)が問題になっているのかについて、より多くの情報を取得するためにを実行します。

于 2012-05-21T17:01:18.087 に答える