通过从MySQL表中提取值来创建新变量

时间:2010-09-17 09:51:27

标签: php mysql

我正在使用一个向其发布变量$submissionid的页面。我想使用此变量并从名为subcheck的MySQL表中提取字段submission。我希望字段subcheck的值只是一个新变量$subcheck。我不知道该怎么做。我在下面有一个查询,但如何将下面的查询结果转换为名为$subcheck的变量? (对于任何给定的提交者,只有一个$subcheck。)

提前致谢,

约翰

$querysub = mysql_query("SELECT subcheck FROM submission WHERE submissionid = '$submissionid' ");
mysql_query($querysub) or die(mysql_error());

3 个答案:

答案 0 :(得分:0)

您可以尝试:

$querysub = mysql_query("SELECT subcheck FROM submission WHERE submissionid = ".
                                   mysql_real_escape_string($submissionid));
$result = mysql_query($querysub);
if (!$result) {
    die 'Could not run query: ' . mysql_error();
}

$subcheck = mysql_result($result, 0);

答案 1 :(得分:0)

这更像是一个'php'问题,而不是mysql。

查找PHP Link的'extract'关键字。有效地'extract'获取关联数组的内容,并使用键的名称创建php变量(符号表条目)。然后每个php变量都包含相关的值。

你应该能够:

   $result = mysql_query("SELECT * FROM table");
   $row    = mysql_fetch_array( $result, MYSQL_ASSOC );
   extract( $row );  // Create php variables, named after each column in the table.

   $row["field"] == $field;  // Will be a true statement after 'extract()'

享受,您现在可以让您的代码动态调整为可以更改的数据库架构。

- J Jorgenson -

答案 2 :(得分:0)

这应该有效:

$querysub = mysql_query("SELECT subcheck FROM submission WHERE submissionid = '" . $submissionid ."' ");
$result = mysql_query($querysub) or die(mysql_error());
$row = mysql_fetch_assoc( $result );
if ($row ) {
   $subcheck = $row['subcheck'];
} else {
    echo "Subcheck not found"; 
}

请小心查询字符串中$submissionid周围的转义字符。在您的示例中,他们可能会将变量的名称放入您发送到mysql服务器的字符串中。