【发布时间】:2011-03-21 08:37:39
【问题描述】:
我有一个更新 mySql 数据库的 php 页面,它在我的 mac(使用 mamp 的本地主机)上运行良好
我检查了它是否连接,但似乎有连接
<?php require_once('connection.php'); ?>
<?php
$id = $_GET['id'];
$collumn = $_GET['collumn'];
$val = $_GET['val'];
// checking if there is a connection
if(!$connection){
echo "connectioned failed";
}
?>
<?php
$sqlUpdate = 'UPDATE plProducts.allPens SET '. "{$collumn}".' = '."'{$val}'".' WHERE allPens.prodId = '."'{$id}'".' LIMIT 1';
mysql_query($sqlUpdate);
// testing for errors
if ($sqlUpdate === false) {
// Checked this and echos NO errors.
echo "Query failed: " . mysql_error();
}
if (mysql_affected_rows() == 1) {
echo "updated";
} else {
echo "failed";
}?>
在我传入参数的 URL 中,它看起来像这样:http://pathToSite.com/updateDB.php?id=17&collumn=prodid&val=4
也许这与托管有关?这不是简单的 PHP mySql 数据库更新吗?这里有什么问题?
为什么在本地主机上它确实有效?
为什么在实时服务器上没有?
【问题讨论】:
-
当查询失败时,尝试
mysql_error();的输出,另外,对于较新的项目,您可能想尝试非常出色的mysqli或PDO_MySQL库。 -
谢谢,我在哪里添加
mysql_error();? -
紧跟在 mysql_query() 语句之后。
-
@Samuel 查看更新的代码。
mysql_error();的位置正确吗? -
mysql_query($sqlUpdate) or die(mysql_error());