2013-04-15 32 views
1

您好我正在使用HTML和PHP更新数据库表中的变量,我已确保html表单正常工作并已使用回声确保脚本正在运行。它不给我任何错误的迹象,但不会更新表。为了澄清我的html代码工作正常,功能正常,所有正确的回声都出来了。这里是我希望有人能够启发我的错误代码。谢谢!无法让PHP更新功能正常工作

<?php 
session_start(); 
$healthyPig = 50; 
$userNamer = $_SESSION['rememberMe']; 
echo $userNamer; 
$connect=(mysql_connect("localhost","lpwd10","lpwd10","lpwd10_proj")); 
if (mysql_error()) 
    { 
    echo "Failed to connect"; 
    } 
echo "connected SON"; 
mysql_query($connect,"UPDATE user SET 'pigHealth' = $healthyPig WHERE userName='$userNamer'"); 
header('Location: pigManager.php'); 
echo "Complete"; 
mysql_close($con); 



?> 
+0

尝试'mysql_query(...)或死(mysql_error());'看到输出错误。 – showdev

+0

你的SET'pigHealth'=至少是不正确的。省略单引号或使用反引号。我建议只是将其更改为SET pigHealth = $ healthyPig ... – gview

+1

表中是否存在具有正确用户名的用户?也许你需要用'mysql_select_db()'选择正确的数据库? –

回答

2

的值应该是在引号,不列名

"UPDATE user SET pigHealth = '$healthyPig' WHERE userName='$userNamer'"

+0

嗨,我已经修复了我的语法,它仍然没有工作。用户名是从会话变量中获取的,并使用回声确定将其传递到脚本中。目前我并不担心sql注入,它会在稍后解决。 –

+0

@LewisDunn什么是错误信息,试着去捕捉它。 – zavg

0

我觉得你得到mysql_mysqli_扩展搞得一团糟。

使用mysql_扩展您的query()说法是错误的

mysql_query($connect,"UPDATE user SET 'pigHealth' = $healthyPig WHERE userName='$userNamer'"); 

应该

mysql_query("UPDATE user SET 'pigHealth' = $healthyPig WHERE userName='$userNamer'", $connect); 

,但你不应该再使用mysql_延伸,其被弃用多年,一直完全从PHP7中删除,因此您使用它编写的任何代码都不会在PHP7上运行。

特别是如果你只是学习PHP,花费你的精力学习PDO数据库扩展。 Start here