-4

これについて多くの質問があることを知っており、解決策を何時間も探していましたが、mysql_query を mysqli_query に変更する必要があることを確認する以外に、コードの何が問題なのかを見つけることができないようですが、変更するとさらに多くのエラーメッセージが表示され、他に何を試すべきかわかりません。できれば助けてください。これには多くの時間がかかり始めています。ありがとう!(「同じ質問がたくさんある」と言って批判しないでください。少なくとも私の場合、他の人の問題と一致しないため、自分の問題に対する答えを見つけることができなかったために、すべての人が自分の問題を投稿することになると思います。尋ねる前に調べましたが、成功しませんでした。)

 // try get "MySQL link identifier" 
    $dbConn = mysql_connect($serverName, $user_name, $password) or die("Cannot connect to server<br />\n MySQL error ==>" . mysql_errno() . "<== : ==>" . mysql_error() . "<== <br />\n"); 
    print ""; 

// try connect to database 
mysql_select_db($db_name, $dbConn) or die("Cannot connect to database<br />\n MySQL error ==>" . mysql_errno($dbConn) . "<== : ==>" . mysql_error($dbConn) . "<== <br />\n"); 
print "<br />\n"; 


// Retrieve data from database 
$id = $_GET['id'];
$additional_notes = $_GET['additional_notes'];

// update data in mysql database 
$sql=("UPDATE `rmstable2` SET `additional_notes` = '$additional_notes' WHERE `id` = '$id'");
$result = mysql_query($sql) or die(mysql_error());

$resultcount = mysql_affected_rows($result);


if ($resultcount == 1) {

mysql_query("UPDATE `rmstable2` SET `additional_notes` = '$additional_notes' WHERE `id` = '$id'") or die(mysql_error());

} 

// if successfully updated. 
if($result)
{
echo "Update Successful!";
 echo '<h3>Your case has been updated.</h3>'; 
 echo "To see your changes please click <a href='/fullcase.php?id=$id'>here</a></b>";
}
else {
echo "ERROR";
}

?>
4

2 に答える 2

-1

アレクサンドラ

ただし、これですべてのエラーが解決されるわけではありません。役立つコメントがあり、正確な問題に焦点を合わせるのに役立ちます。これを実行して、実際に何が見えるか教えてもらえますか?

// try get "MySQL link identifier" 
$dbConn = mysql_connect($serverName, $user_name, $password) or die("Cannot connect to server<br />\n MySQL error ==>" . mysql_errno() . "<== : ==>" . mysql_error() . "<== <br />\n"); 
print ""; 

// try connect to database 
mysql_select_db($db_name, $dbConn) or die("Cannot connect to database<br />\n MySQL error ==>" . mysql_errno($dbConn) . "<== : ==>" . mysql_error($dbConn) . "<== <br />\n"); 
print "<br />\n"; 


// Retrieve data from database 
$id = $_GET['id'];
$additional_notes = $_GET['additional_notes'];

// Assuming id is always numeric you could sanitize and validate it like below
$id = intval($_GET['id']);
if( $id<=0 ){
  // Let user know or redirect to a page when id is not present
  // Or even better do not run the queries at all
}

// update data in mysql database 
//$sql=("UPDATE `rmstable2` SET `additional_notes` = '$additional_notes' WHERE `id` = '$id'");

// Escape strings; you could try something like this
$sql=("UPDATE `rmstable2` SET `additional_notes` = '" . mysql_escape_string($additional_notes) . "' WHERE `id` = '$id'");

// デバッグ専用 (より良い方法は error_log を使用することです) echo '

SQL: ' . $sql . '
';

$result = mysql_query($sql);

if($result){
  //$resultcount = mysql_num_rows($result);

  // Instead
  $resultcount = mysql_affected_rows($result);

  if ($resultcount == 1) {

    mysql_query("UPDATE `rmstable2` SET 
                                  `additional_notes` = '$additional_notes'

                               WHERE `id` = '$id'") 

       or die(mysql_error());

  }else{
    // Nothing was updated
    // maybe rows didn't match?
    echo "No data was updated.";
  }
}else{
  // mysql_query returned FALSE
  // There must be an error
  echo "DB Error: " . mysql_error();
}
// if successfully updated. 
if($result){
  echo "Update Successful!";
 echo '<h3>Your case has been updated.</h3>'; 
 echo "To see your changes please click <a href='/fullcase.php?id=$id'>here</a></b>";
}else {
  echo "ERROR";
}
于 2013-05-30T18:53:34.003 に答える