2012-05-21 2 views
2

это то, как я должен строить передатчики Infomation на файл 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; 
    } 
?> 

, но когда речь заходит на файл/страница говорит, что это, как это ...

Фатальная ошибка: Вызов функции-члена подготовить() на не-объект в /home/jesperbo/public_html/....dk/activate_updater.php на линии 2

, что это, где он говорит, как это

if($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?')) 

Я точно не лучший человек, чтобы увидеть ошибки, но это было бы супер, если бы вы видели, что я излишне вспенивание неправильно, поскольку это не будет на базе данных

надеюсь, что вы можете помочь мне с этой проблемой!

+0

Где вы инициализируете свой объект '$ mysqli'? Вы либо не делаете этого, либо у вас есть ошибка. – jeroen

+0

Я понял, но теперь он просто не отправит меня назад или вперед или что сказать слова на новую страницу? –

+0

Возможный дубликат [Ссылка - что означает эта ошибка в PHP?] (Http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php) –

ответ

4

Это происходит потому, что $mysqli не объект, который вы думаете. Либо вы не создали экземпляр класса MySQLi, либо не установили соединение. Сделайте var_dump($mysqli), чтобы получить больше информации о том, что происходит не так.

5

Насколько я могу судить, вы фактически не создаете свой объект $mysqli (если он не загружен в другой файл, который включает этот). Вы должны create it:

$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`=?')) 
+0

О да, сейчас нет ошибки, но там iMode отправил меня на страницу входа? hmm –

+1

@JesperPetersen Если эта проблема исправлена, но у вас все еще есть проблемы, вам нужно открыть другой вопрос. – lonesomeday