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));

我不明白问题出在哪里

4

4 回答 4

1

$person是 mysql 结果,不是任何类型的值。

尝试这个:

list($person) = mysql_fetch_row(mysql_query("select personID from ....."));
于 2013-11-01T08:46:46.183 回答
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'];
于 2013-11-01T08:46:39.777 回答
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));
于 2013-11-01T09:13:36.090 回答
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 代码来选择和使用数据。PDO 是一种首选方式。并且也代替mysql使用mysqli。我们不清楚您的担忧。如果您复制粘贴错误消息或通过编辑您的帖子让我们清楚,说明您真正想要什么以及您无法做什么,这会更好。希望我的帮助有效!!

于 2013-11-01T09:01:51.440 回答