gpt4 book ai didi

php - WAMP 服务器 mySQL 数据类型? mySQL 数据库未在 PHP 中更新?

转载 作者:行者123 更新时间:2023-11-29 20:43:14 25 4
gpt4 key购买 nike

我正在编写一个在服务器上运行的 PHP 页面,它接受一些 POST 参数,并在使用 REGEX 验证它们后将它们添加到服务器。由于某种原因,在代码成功运行并重定向到最后的页面后,我的服务器(使用 WAMP 服务器)显示空结果集。

我认为这可能是我的代码,但也可能是服务器的设置方式,目前,我所有的列都是“int(11)”类型,我不知道该选择哪种类型。

<?php
if(isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["pnumber"])){
$name = $_POST["name"];
$number = $_POST["pnumber"];
$email = $_POST["email"];
$db = new PDO("mysql:dbname=daythree", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if( preg_match("/^[0-9]{10}$/", $number) &&
preg_match("/^[A-Za-z]{2,}[\sA-Za-z]*$/", $name) &&
preg_match("/^[A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z.]{2,4}$/", $email)){

$sql = "INSERT INTO daythree ('name', 'email', 'number') VALUES ('. $name .', '. $email. ', '. $number .')";

header("Location: evilmasterminds.php");
die();
}

}

感谢并为给您带来的任何麻烦表示歉意。

最佳答案

未经测试,但当您使用 PDO 时,也许更像下面的内容 - 它至少应该为您指明正确的方向。

if(isset($_POST["name"],$_POST["email"],$_POST["pnumber"])){

$name = $_POST["name"];
$number = $_POST["pnumber"];
$email = $_POST["email"];


try{
$db = new PDO("mysql:dbname=daythree", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

if( preg_match( "/^[0-9]{10}$/", $number ) &&
preg_match( "/^[A-Za-z]{2,}[\sA-Za-z]*$/", $name ) &&
preg_match( "/^[A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z.]{2,4}$/", $email ) ){


$sql='insert into `daythree` (`name`,`email`,`number`) values (:name,:email,:number);';
$stmt=$db->prepare($sql);
$stmt->execute(array(
':name' => $name,
':email' => $email,
':number' => $number
));

exit( header("Location: evilmasterminds.php") );
}

}catch( PDOException $e ){
exit('Error: '.$e->getMessage());
}
}

对于列类型 nameemail 几乎肯定应该是 varcharnumber 可能是 int 取决于您收到的数字中使用的实际格式 - 同样,varchar 列可能更合适。

更新:代码已更改,以考虑@riggsfolly关于异常的观点

关于php - WAMP 服务器 mySQL 数据类型? mySQL 数据库未在 PHP 中更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38520116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com