-3

この質問を 2 回投稿しましたが、何も機能しませんでした。スクリプトを書き直しましたが、さらに問題が発生しています。

最初のページのコードは次のとおりです。

<?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>

このページが問題の一部であるかどうかはまだわかりません...

2ページ目はこちら

<?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 という名前のテーブルの列に +1 を追加しようとしています。デフォルト値は 0 で、追加できません。 +1 は、値が 1 であると言い、誰かが画像リンクをクリックすると、値が 2 に変わり、別のクリックで 3 に変わります。

はい、これは実際の mysql ログイン情報です。これは私のパーマ サイトではありません。実際のサイトに配置するコードをテストするためのものなので、共有してもかまいません。

4

2 に答える 2

1

次の変更

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

$link=mysql_connect($host, $username, $password); 
if (!$link) {
    die('Not connected : ' . mysql_error());
}
$db_selected=mysql_select_db("$db_name", $link);
if (!$db_selected) {
    die('Not selected : ' . mysql_error());
}

データを取得して印刷するには

$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
    }
 }
于 2012-12-27T08:37:10.793 に答える