php - 查找 MySQL 查询不工作的原因

标签 php mysql

好的。我的网站上有这段代码:

<?php
session_start();
include "database.php";
include "bruger.php";

$bruger = new bruger();
if( $bruger->logget_ind() ){

  $brugernavn = $_SESSION['brugernavn'];
  $bruger_slash = addslashes($brugernavn);

  $hnavnn = mysql_query(" SELECT hnavn FROM bruger WHERE brugernavn = '" . $bruger_slash . "'");
  $hnavn = mysql_fetch_row($hnavnn);
  $hinfoo = mysql_query(" SELECT besked, Afsender FROM $hnavn[0]");
  while ($hinfo = mysql_fetch_array($hinfoo)){

    echo "<form method = post action = $PHP_SELF>\n";
    echo "Ja<input type=radio name=valg1 value=\"ja\"> Nej<input type=radio name=valg value=\"nej\">";
    echo "<input type=submit value=\"Svar\">\n";

    if (isset($_POST["valg1"])){
      $brugernavn = $_SESSION['brugernavn'];
      $bruger_slash = addslashes($brugernavn);
      $frahvem = $hinfo["Afsender"];
      $query = "UPDATE bruger SET `Status` = '$frahvem' WHERE brugernavn = '$bruger_slash'";
      mysql_query($query) or die (mysql_error());

      $query1 = "UPDATE bruger SET `Ansfra` = 'Nej' WHERE hnavn = '$frahvem'";
      mysql_query($query1) or die (mysql_error());

      echo "Du har nu givet dit svar!";
    }
    echo "<br>";
  }
}
else {
  echo "Du er ikke logget ind";
}
?>

八天以来,我一直在努力寻求帮助,因此我很绝望 :) 看起来它只运行第一个 mysql_query,而不运行下一个。 嗯..

谁能看出问题出在哪里?

(抱歉我的英语不好;)..)

最佳答案

任何 mysql_* 函数都可能失败。在这种情况下,它们将返回 falsemysql_error()可以告诉你更多关于原因的信息。
使用它来实现某种错误处理。

基本示例:

include "bruger.php";
define('DEBUGOUTPUT', 1);
...

  $bruger_slash = mysql_real_escape_string($brugernavn); // you should pass the mysql connection resource as 2nd paramter here

  $hnavnn = mysql_query("SELECT hnavn FROM bruger WHERE brugernavn = '" . $bruger_slash . "'");
  if ( !$hnavnn ) {
    if ( defined('DEBUGOUTPUT') && DEBUGOUTPUT ) {
      echo 'mysql_error: ', mysql_error(), "\n";
    }
    echo "query failed.";
    return;
  }
  $hnavn = mysql_fetch_row($hnavnn);
  if ( !$hnavn ) {
    echo 'no such brugernavn';
    return;
  }
  $hinfoo = mysql_query(" SELECT besked, Afsender FROM `$hnavn[0]`");
  if ( !$hinfoo ) {
    if ( defined('DEBUGOUTPUT') && DEBUGOUTPUT ) {
      echo 'mysql_error: ', mysql_error(), "\n";
    }
    echo "query failed.";
    return;
  }

关于php - 查找 MySQL 查询不工作的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507858/

相关文章:

php - SQL 插入代码 PHP

php - 如何查询laravel采集结果

php - 不同语言的 Eureka 服务发现客户端

php - 如何使用 PHP 确定动态查询的 ON 子句?

php - 如何有效地找到给定位置附近最近的位置

Mysql:如果记录中的字段为空,我希望存储过程返回 N/A 作为值

php - Phalcon 模型不接受变量

php - Postgres数据库上传错误 "No server supplied!"

mysql - 如何使用 MySql 使用一对多关系获取数据并在 MySql 中进行联接

php - 使用 LDAP PHP 添加密码用户