我是 PHP/MySQL 的新手,正在学习基础知识。
我有一个 MySQL 数据库 scwdb(我从 Access 2000 移出,我的 Windows 7 无法使用它),其中有一个表 tblsplintersbowlinventory,它有 2 个字段:
字段和数据:
txtProductBowlCode
data examples: OakSc07-001, MapleTi07-030, MapleTi07-034, BlackLimba07-002, AshSc07-017
txtProductPrimarySpecies
data examples: Oak, Maple, Maple, BlackLimba, Ash
换句话说,我只想记录 txtProductPrimarySpecies 字段中的物种。
我尝试了以下 PHP 脚本:
<?php
$con = mysql_connect("localhost","xxxxxxx","zzzzzzz");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("scwdb", $con);
$species = 'Maple';
mysql_query("UPDATE tblsplintersbowlinventory WHERE txtProductBowlCode LIKE $species SET txtProductPrimarySpecies=$species%");
echo "done";
mysql_close($con);
?>
它似乎在运行,没有显示错误并打印“完成”,但是当我检查数据库时,我没有看到任何变化。
我错过了什么?
这个数据库有超过 600 条记录,我添加了这个新的 txtProductPrimarySpecies 字段以使我的搜索更容易,同时保留包含碗上特定信息的完整代码。有几个物种我需要这样做,所以我计划使用循环来遍历物种列表。
我将如何编写该循环以读取物种列表?
好的,我找到了完成这项工作的方法!
<?php
$con = mysql_connect("localhost","xxxxxx","zzzzzzz");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("scwdb", $con);
$species = 'Maple';
$result = mysql_query("UPDATE tblsplintersbowlinventory SET txtProductPrimarySpecies = '$species' WHERE txtProductBowlCode LIKE '$species%'");
$result = mysql_query("SELECT * FROM tblsplintersbowlinventory WHERE txtProductBowlCode LIKE '$species%'");
echo "<table border='1'>
<tr>
<th>Index</th>
<th>Bowl Code</th>
<th>Species</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['intProductID'] . "</td>";
echo "<td>" . $row['txtProductBowlCode'] . "</td>";
echo "<td>" . $row['txtProductPrimarySpecies'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "done";
mysql_close($con);
?>
这行得通,我手动更改了 $species 值并为数据库中的每种木材运行它......因为这是一次拍摄,所以不使用列表并循环遍历它更有意义 - 我是无论如何,一定会错过一两个物种。