我有一个包含 5 列的 MySQL 表:resourceID (A_I)、resourceName、resourceURL、categoryID、addBy
列 categoryID 是新增内容。在添加此列之前,我的 PDO 工作得很好。添加新列后,它不再起作用。
$pdo = new PDO("mysql:host=$db_host;dbname=$db_name;", $db_user, $db_password);
$stmt = $pdo->prepare('INSERT INTO Resources (resourceName, resourceURL, categoryID, addedBy) VALUES (:title, :url, :category, :admin)');
$stmt->bindParam(':title', $this->resource->title);
$stmt->bindParam(':url', $this->resource->url);
$stmt->bindParam(':category', $this->resource->categoryID);
$stmt->bindParam(':admin', $_SESSION['tblUserID']);
$stmt->execute();
categoryID 列设置为TINYINT
。我试图插入的值来自列表option
中的值select
。所有选项值都是整数。
<select name="categories" id="categoryList">
<option value="0">Select a category to add to</option>
<?php
$categories = array(
1 => "Microsoft Dreamspark",
"Video Tutorials",
"Interactive Learning",
"Language Documentation",
"IDEs and Text Editors",
"Additional Tools and Resources"
);
for ($i = 1; $i <= 6; $i++)
print "<option value=\"$i\">$categories[$i]</option><br />";
?>
</select>
我尝试将所述值转换为整数。我尝试删除可能存在的任何引号或空格。我不知道为什么这个值不会插入。