我正在创建一个函数,该函数将从具有多列的表中检索一个 ID 号,将其放入一个变量中,我想用该变量在电子邮件中将其作为“索赔号”发送给索赔人,并在确认屏幕上回显。这是我到目前为止所拥有的。
$sql = "SELECT id FROM warranty_claim where lname=$lname";
$result = mysql_query($sql);
$claim_id = $result;
$result = mysql_fetch_array(mysql_query($sql));
$claim_id = $result['id'];
假设您确定您将收到 1 行。
$sql = "SELECT id FROM warranty_claim where lname=$lname";
$result = mysql_query($sql);
$c = mysql_fetch_assoc($result);
$claim_id = $c['lname'];
注意*:准备好听讲座。有人会告诉你 mysql 已经过时了。开始使用 MySQLi 或 PDO(推荐)。
尝试 :
$sql = "SELECT id FROM warranty_claim where lname=$lname";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$claim_id = $row[0];
或者
$sql = "SELECT id FROM warranty_claim where lname=$lname";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$claim_id = $row['id'];
}
$row = mysql_fetch_array($result);
$claim_id = $row['id'];
请注意,您还应该检查错误(例如if($result === FALSE)
)。此外,还有其他获取数据的方法 - 我建议查看mysql_fetch_array、mysql_fetch_row、mysql_fetch_assoc和mysql_fetch_object
此外,不要依赖语句总是只返回一行 - 确保结果符合预期:mysql_num_rows
试试这个:
$sql = "SELECT id FROM warranty_claim where lname='".$lname."'";
$result = mysql_query($sql);
$objResult = mysql_fetch_array($result);
$claim_id = $objResult['id'];