我有这两个表“ fcategory”和“ fthreads”。fcategory字段:category_id,category_name。fthreads字段:thread_id,thread_title,category_name,category_id,user_id。
当我在php中创建新线程时,我希望category_id与category_name一起获取并将其插入fthreads表中。
这是我的PHP文件:threads.php
<form action="threadsp.php" name="myform" method="post">
<label for="field4"><span>Category</span>
<?php
$query = "select * from fcategory";
$result = mysqli_query($conn, $query);
$resultsearch = mysqli_fetch_array($result);
if(!$result){
die('could not get data:'.mysqli_error($conn));
}
echo '<select name="category" class="select-field">';
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="'.$row['category_name'].'">'.$row['category_name'].'</option>';
}
echo "</select>";
echo "</label>";
?>
<label for="field1"><span>Thread Title <span class="required">*</span></span>
<input type="text" class="input-field" name="title" value="" />
</label>
<label><span> </span>
<input type="submit" value="Create" />
</label>
</form>
第二个文件:threadsp.php
<?php
$catg = $_POST['category'];
$title = $_POST['title'];
$userid = $_SESSION['uid'];
$sql = "select category_id from fcategory where category_name = '$catg'";
$result2 = mysqli_query($conn, $sql);
$catgidresult = mysqli_fetch_array($result2);
$query = "insert into fthreads (category_name,thread_title,user_id,category_id) values('".$catg."','".$title."','".$userid."','".$catgidresult."')";
$result = mysqli_query($conn, $query);
if(!$result){
echo "failed".mysqli_error($conn);
}else{
header("Location: question.php");
die();
}
?>
我能够提取category_name,但category_id的值显示为0。任何帮助将不胜感激。谢谢你
在您的threadp.php文件中,您将在$ catgidresult变量中获取数组,基本上您需要在$ catgidresult中传递category_id,因此在threadp.php文件中的插入查询应如下所示:
$query = "insert into fthreads (category_name,thread_title,user_id,category_id) values('".$catg."','".$title."','".$userid."','".$catgidresult['category_id']."')";
注意-$ catgidresult ['category_id']
我建议不要使用bind_param,而不是像您那样生成SQL。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句