【问题标题】:PHP and SQL unable to send data from databasePHP和SQL无法从数据库发送数据
【发布时间】:2018-03-17 08:26:07
【问题描述】:

尝试检查页面可以提交但数据无法发送到数据库的变量,已经检查了所有内容,我不知道我是否遗漏了什么。

if($_SERVER['REQUEST_METHOD'] == 'POST'){

    $applicant_ilname = $mysqli->real_escape_string($_POST['applicant_ilname']);
    $applicant_ifname = $mysqli->real_escape_string($_POST['applicant_ifname']);
    $applicant_imname = $mysqli->real_escape_string($_POST['applicant_imname']);
    $isingle = $mysqli->real_escape_string($_POST['isingle']);
    $imarried = $mysqli->real_escape_string($_POST['imarried']);
    $iwidow = $mysqli->real_escape_string($_POST['iwidow']);
    $iwidower = $mysqli->real_escape_string($_POST['iwidower']);
    $imale = $mysqli->real_escape_string($_POST['imale']);
    $ifemale = $mysqli->real_escape_string($_POST['ifemale']);
    $initial_age = $mysqli->real_escape_string($_POST['initial_age']);
    $initial_homeaddress = $mysqli->real_escape_string($_POST['initial_homeaddress']);
    $ibMonth = $mysqli->real_escape_string($_POST['ibMonth']);
    $idateDay = $mysqli->real_escape_string($_POST['idateDay']);
    $ibYear = $mysqli->real_escape_string($_POST['ibYear']);
    $ibPlace = $mysqli->real_escape_string($_POST['ibPlace']);
    $aiPurpose = $mysqli->real_escape_string($_POST['aiPurpose']);


    $_SESSION['applicant_ilname'] = $applicant_ilname;
    $_SESSION['applicant_ifname'] = $applicant_ifname;
    $_SESSION['applicant_imname'] = $applicant_imname;
    $_SESSION['isingle'] = $isingle;
    $_SESSION['imarried'] = $imarried;
    $_SESSION['iwidow'] = $iwidow;
    $_SESSION['iwidower'] = $iwidower;
    $_SESSION['imale'] = $imale;
    $_SESSION['ifemale'] = $ifemale;
    $_SESSION['initial_age'] = $initial_age;
    $_SESSION['ibMonth'] = $ibMonth;
    $_SESSION['idateDay'] = $idateDay;
    $_SESSION['ibYear'] = $ibYear;
    $_SESSION['ibPlace'] = $ibPlace;
    $_SESSION['aiPurpose'] = $aiPurpose;


    $sql = "INSERT INTO initialform (applicant_ilname, applicant_ifname, applicant_imname, isingle, imarried, iwidow, iwidower, imale, ifemale, initial_age, ibMonth, idateDay, ibYear, ibPlace, aiPurpose)" ."VALUES('$applicant_ilname', '$applicant_ifname', '$applicant_imname', '$isingle', '$imarried', '$iwidow', '$iwidower', '$imale', '$ifemale', '$initial_age', '$ibMonth', '$idateDay', '$ibYear', '$ibPlace', '$ibPlace', '$aiPurpose')";


  }


?>

【问题讨论】:

  • 我看不到你在哪里查询/执行。
  • ...否则我的眼睛会欺骗我。

标签: php html sql database phpmyadmin


【解决方案1】:

您缺少查询的“执行”部分。

在 $sql= 之后的文件末尾添加:

mysqli_query($conn, $sql);

其中 $conn 是您配置数据库连接的变量。

还请记住,尽管 $mysqli->real_escape_string 是一件好事,但您必须验证您的数据,否则您可能会尝试将空值或字符串值插入错误的字段。

尝试使用 prepared statementscatch the error

【讨论】:

  • 这更像是一个评论which has already been said,而不是一个答案。一个好的答案总是会有一个解释,包括代码,说明要做什么以及为什么以这种方式完成,不仅对 OP,而且对未来的访问者所以。
  • $sql = "插入初始形式(applicant_ilname,applicant_ifname,applicant_imname,isingle,已婚,iwidow,iwidow,imale,ifemale,initial_age,ibMonth,idateDay,ibYear,ibPlace,aiPurpose)"。"值('$applicant_ilname', '$applicant_ifname', '$applicant_imname', '$isingle', '$imarried', '$iwidow', '$iwidower', '$imale', '$ifemale', '$initial_age' , '$ibMonth', '$idateDay', '$ibYear', '$ibPlace', '$ibPlace', '$aiPurpose')"; $myData = mysqli_query($conn, $sql); } 这就是你要执行查询的意思吗
  • @Mark: ...这只是一个字符串,可能已准备好发送到数据库。但是,单独的字符串不会自动将自身发送到数据库。其他与数据库相关的函数是将该字符串传递给数据库所必需的。请参阅this simplified example 建立数据库连接和使用此答案中显示的函数的几个示例查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-27
  • 1970-01-01
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多