PHP或MySql不会更新数据库

PHP或MySql不会更新数据库,php,html,mysql,sql,phpmyadmin,Php,Html,Mysql,Sql,Phpmyadmin,我已经把这个问题贴了两次都没用了,我重新编写了它,现在我遇到了更多的问题 这是我在第一页的代码: <?php $host="XXXX"; // Host name $username="XXXX"; // Mysql username $password="XXXX"; // Mysql password $db_name="XXXX"; // Database name $tbl_name="XXXX"; // Table name // Connect to server

我已经把这个问题贴了两次都没用了,我重新编写了它,现在我遇到了更多的问题

这是我在第一页的代码:

<?php

$host="XXXX"; // Host name 
$username="XXXX"; // Mysql username 
$password="XXXX"; // Mysql password 
$db_name="XXXX"; // Database name 
$tbl_name="XXXX"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// select record from mysql 
$sql="SELECT * FROM $tbl_name order by id desc";
$result=mysql_query($sql);
?>
<table background='images/view.png' width='50%'>
<tr>
<th align='center'>Post #</th><th align='center'>Submition By</th><th     align='center'>ScreenName</th><th align='center'>Password</th><th align='center'>Does This     Work?</th><th align='center'>Vote</th>
</tr>
<tr>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td background='transparent' align='center'><i><b><? echo $rows['id']; ?> </b></i></td>
<td background='transparent' align='center'><i><b><? echo $rows['yname']; ?> </b></i>    </td>
<td background='transparent' align='center'><i><b><? echo $rows['username']; ?></b></i></td>
<td background='transparent' align='center'><i><b><? echo $rows['password']; ?></b></i></td>
<td background='transparent' align='center'><i><b><? echo $rows['works']; ?>% Yes <font  color='transparent'>||||</font>&nbsp; <? echo $rows['dworks']; ?>% No</b></i>
<td background='transpatent' align='center'><i><b><a href='works.php?id=<? echo $rows['id']; ?>'><img src='images/ThumbsUp.png' height='30' width='30'>  </a>&nbsp;&nbsp;&nbsp;<a href='dworks.php?id=<? echo $rows['id']; ?>'><img   src='images/ThumbsDown.png' height='30' width='30'></a>

</td> 
</tr>

<?php
// close while loop 
}
?>

<?php
// close connection; 
mysql_close();
?>

</table>
我不确定这个页面是否是问题的一部分

这是第二页

<?php
$host="XXXX"; // Host name 
$username="XXXX"; // Mysql username 
$password="XXXX"; // Mysql password 
$db_name="XXXX"; // Database name 
$tbl_name="XXXX"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// get value of id that sent from address bar
$id=$_GET['id'];

// Retrieve data from database 
$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>


<?php
$host="XXXX"; // Host name 
$username="XXXX"; // Mysql username 
$password="XXXX"; // Mysql password 
$db_name="XXXX"; // Database name 
$tbl_name="XXXX"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// update data in mysql database 
$sql="UPDATE `$host`.`$username` 
SET `works` = `works` + 1 WHERE `$db_name`.`id` = '".$id."'";
$result=mysql_query($sql);

// if successfully updated. 
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='list_records.php'>View result</a>";
}

else {
echo "ERROR";
}

?>
我在自定义错误页面上遇到错误,我不知道为什么。。我正在尝试将其添加到我表中名为works的列中。默认值为0,我无法将其添加到+1。如果该值为1,有人单击图像链接,则该值将更改为2,然后再次单击它将变为3,依此类推

是的,这是真实的mysql登录信息,这不是我的perm站点,只是为了测试我的代码,以便将其放到真实的站点上,所以我不介意共享以下更改

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

获取数据并打印

$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);
if(mysql_num_rows($result))
{
    while($row = $result->fetch_assoc()) {
        echo 'id: '. $row['id'].'<br />'; // replace with real field name
        echo 'name: '. $row['name']'<br />'; // replace with real field name
    }
 }

将上一个查询更改为$sql=UPDATE tylted SET works=works+1,其中id=$id;; $result=mysql\u query$sql;我在谷歌上搜索了9到10分钟,找到了它
我在这里也搜索了这个,但它没有起作用,谢谢大家像你一样帮助我

@JaredFarrish是的,但就像我说的,我不介意它不是我真正的mysql数据库,它是为了测试我真正站点的代码有什么错误?在获取GET参数并将其放入查询时要小心,它可能用于注入。您得到的错误是什么?@Jackopo我在最后一组php代码中设置了一个自定义错误,我得到的错误称为error!删除该自定义错误!!!!what@TheWhiteHatter,您没有打印任何内容,请检查更新。$sql=SELECT*FROM$tbl_name,其中id='$id'$result=mysql\u query$sql;$row=mysql\u fetch\u array$result,mysql\u ASSOC{echo$row['id'];//替换为实字段名echo$row['name'];//替换为实字段名}是什么发现了它,我得到了这个结果
$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);
if(mysql_num_rows($result))
{
    while($row = $result->fetch_assoc()) {
        echo 'id: '. $row['id'].'<br />'; // replace with real field name
        echo 'name: '. $row['name']'<br />'; // replace with real field name
    }
 }