php
  • mysql
  • 2013-11-01 67 views 0 likes 
    0

    我有一個不起作用的選擇。無法使用的選擇

    $person = mysql_query ("Select personID from persons order by personID desc Limit 0,1");   
    
    $query_string = 'INSERT INTO topics (topic, 
                 description, 
                 abstract, 
                 personID) 
              VALUES (?, ?, ?, ?)'; 
    
    $query = $db->prepare($query_string); 
    
    $query->execute(array($_POST['topic'], 
             $_POST['description'], 
             $_POST['abstract'], 
             $person)); 
    

    我不明白問題出在哪裏

    +0

    什麼問題?告訴我們爲什麼你認爲有問題。告訴我們會發生什麼,以及你預期會發生什麼。 – nos

    +0

    嗨,[你不應該再使用mysql_函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。有[更好的選擇](http://php.net/manual/en/mysqlinfo.api.choosing.php)像[mysqli](http://www.php.net/manual/en/book.mysqli。 php)或[PDO_MySQL](http://www.php.net/manual/en/ref.pdo-mysql.php)函數。 –

    +1

    *「請幫助我理解** my ** code中的錯誤」* - Gawd我喜歡這些類型的問題。如果它是**「你的」**代碼,那麼你應該已經知道你錯了哪裏。當我構建代碼,甚至是**「後院棚」**和基礎,2x4等都沒有正確地構建/組合在一起時,那麼是的......如果你不知道自己是什麼做或知道如何使用錘子/工具,當然一定會出現「錯誤」的情況。 –

    回答

    0

    這裏的問題是...

    $person = mysql_query ("Select personID from persons order by personID desc Limit 0,1"); 
    

    操作方法......

    $result = mysql_query ("Select personID from persons order by personID desc Limit 0,1"); 
    $row = mysql_fetch_array($result); 
    $person = $row['personID']; 
    
    1

    $person是一個MySQL的結果,沒有任何價值。

    試試這個:

    list($person) = mysql_fetch_row(mysql_query("select personID from .....")); 
    
    0
    $dbh = new PDO('mysql:host='.$server.';dbname='.$db, $user, $pass); 
    $st=$dbh->prepare('Select personID from persons order by personID desc Limit 0,1'); 
    $st->execute(); 
    $result=$st->fetchAll(); 
    //FOR TEST PURPOSE TO MAKE IT EASY. 
    echo "<pre>"; 
    print_r($result); 
    echo "</pre>"; 
    //END TEST 
    echo $result[0]['personID']; 
    

    試試這個PDO代碼選擇和使用data.PDO是prefererred方式。而不是mysql使用mysqli。 我們不清楚您的擔憂。如果您複製粘貼錯誤消息或通過編輯帖子告訴我們,說明您真正想要什麼以及您無法做什麼,那會更好。希望我的幫助起作用!

    0

    你正在混合mysqli裏面取mysql的試試這個。

    $person = $db->prepare("Select personID from persons order by personID desc Limit 0,1"); 
        $person->execute();  
        $person->store_result(); 
        $person->bind_result($personID) ; // to bind the result as variable to use it later 
        $person->fetch(); 
    
        $query_string = 'INSERT INTO topics (topic, 
                description, 
                abstract, 
                personID) 
             VALUES (?, ?, ?, ?)'; 
    
        $query = $db->prepare($query_string); 
    
        $query->execute(array($_POST['topic'], 
            $_POST['description'], 
            $_POST['abstract'], 
            $personID)); 
    
    相關問題