我知道有很多关于类似问题的类似主题,但在我的案例中没有一个帮助我。 我正在为表创建一个名为product的Insert表单。我用POST方法传递数据。 这是给我带来麻烦的部分。由于使用POST传递字符串值,我需要将id_category转换为INT,因为数据库中的类型设置为INT。问题是,当我将字符串值转换为INT时,返回的值为0.
<form method="POST" action="insert_product.php" enctype="multipart/form-data">
<table>
<tr>
<td>Kategorija:</td>
<td><select name="category" tabindex="1">
<option value="">Odaberi kategoriju</option>
<?php
$sql="SELECT * FROM category ORDER BY category_name";
$result=mysqli_query($connection,$sql) or die(mysql_error());
if(mysqli_num_rows($result)>0){
while($row=mysqli_fetch_assoc($result)){
echo "<option value='{".$row['id_category']."}'>".$row['category_name']." ".$row['id_category']."</option>";
}
}
这是接受数据并将其分配给varibles的代码的一部分。
if(isset($_POST['submit']))
{
$category=mysqli_real_escape_string($connection, $_POST['category'];
$categoryINT=intval($category);
$manufacturer=mysqli_real_escape_string($connection,$_POST['manufacturer']);
$name=mysqli_real_escape_string($connection,$_POST['name']);
$power=mysqli_real_escape_string($connection,$_POST['power']);
$catalogue_number=mysqli_real_escape_string($connection,$_POST['catalogue_number']);
$price=mysqli_real_escape_string($connection,$_POST['price']);
$description=mysqli_real_escape_string($connection,$_POST['description']);
$post_image=mysqli_real_escape_string($connection,$_FILES['image']['name']);
$image_tmp=mysqli_real_escape_string($connection,$_FILES['image']['tmp_name']);
该表位于pastebin上 http://pastebin.com/d067ZpS8
答案 0 :(得分:0)
因此,您的选择框值如下所示:
"{2}"
从此处开始删除行中的{
和}
echo "<option value='{".$row['id_category']."}'>
所以更像是
echo "<option value='".$row['id_category']."'>
应该有效