php
  • mysql
  • 2013-11-01 3 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

    * «Пожалуйста, помогите мне понять, что не так в ** моем ** коде» * - 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

    Вы смешиваете, чтобы получить mysql внутри mysqli, попробуйте это.

    $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)); 
    
    Смежные вопросы