我知道有很多类似的话题,但没有一个对我有帮助。
我正在为称为表的表创建一个插入表单。我正在使用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']."&nbsp;&nbsp;".$row['id_category']."</option>";
        }
    }


这是代码的一部分,它接受数据并将其分配给变量。

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

最佳答案

因此,您的选择框值如下所示:

"{2}"


像这样删除行中的{}

echo "<option value='{".$row['id_category']."}'>


所以它更像

echo "<option value='".$row['id_category']."'>


应该工作

10-08 01:52