Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PDO异常错误PHP SQL";Firstname不能为空";_Php_Mysql_Pdo - Fatal编程技术网

PDO异常错误PHP SQL";Firstname不能为空";

PDO异常错误PHP SQL";Firstname不能为空";,php,mysql,pdo,Php,Mysql,Pdo,我目前对下面的代码有问题 它一直在说 致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[23000]: 完整性约束冲突:1048列“Firstname”不能为空 在C:\xampp\htdocs\clubresults\checkregister.php:30堆栈跟踪:#0 C:\xampp\htdocs\clubresults\checkregister.php(30):PDOStatement->execute() #在第30行的C:\xampp\htdocs\cl

我目前对下面的代码有问题

它一直在说

致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[23000]:
完整性约束冲突:1048列“Firstname”不能为空
在C:\xampp\htdocs\clubresults\checkregister.php:30堆栈跟踪:#0
C:\xampp\htdocs\clubresults\checkregister.php(30):PDOStatement->execute()
#在第30行的C:\xampp\htdocs\clubresults\checkregister.php中抛出1{main}
我已经尝试了我所知道的一切,但我无法消除那个错误。。。任何形式的帮助都是非常感激的 这个php文件名为checkregister.php

  $pdo = new PDO('mysql:host=localhost;dbname=clubresults', 'root', '12345678');
  #Set Error Mode to ERRMODE_EXCEPTION.
  $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  

  $stmt = $pdo->prepare('INSERT INTO members 
           (firstname, surname, DD, MM, YYYY, 
           email, Player1, Player2, Player3, Player4, Player5)
          VALUES 
           (:firstname, :surname, :DD, :MM, :YYYY, 
           :email, :Player1, :Player2, :Player3, :Player4, :Player5)');

  $stmt->bindParam(':firstname', $_GET['firstname']);
  $stmt->bindParam(':surname', $_GET['surname']);
  $stmt->bindParam(':DD', $_GET['DD']);
  $stmt->bindParam(':MM', $_GET['MM']);
  $stmt->bindParam(':YYYY', $_GET['YYYY']);
  $stmt->bindParam(':email', $_GET['email']);
  $stmt->bindParam(':Player1', $_GET['Player1']);
  $stmt->bindParam(':Player2', $_GET['Player2']);
  $stmt->bindParam(':Player3', $_GET['Player3']);
  $stmt->bindParam(':Player4', $_GET['Player4']);
  $stmt->bindParam(':Player5', $_GET['Player5']);
  $stmt->execute();
这是我在另一个php文件中的表单:

<form name="register" method="post" action="checkregister.php">

<!--Text, using <p> tag for new line-->
Main Account Registration <p>
* All Fields Mandatory <P>


<div class="required_field">
<label for="leadername">Team Leader's First Name</label>
<input name="firstname" type="text" value="hihi"><p>
<span id="firstnameerror" class="error"></span>
</div>

the same code repeats for each of the other ones such as Surname, DD MM YY, etc

<input type="submit" name="submitbutton" id="submitbutton" value="Register">
<input type="reset" name="resetbutton" id="resetbutton" value="Clear all Fields">
</form>

主帐户注册
*所有字段必须填写

队长的名字 相同的代码会在其他代码中重复,例如姓氏、DD-MM-YY等

反向工作:

  • MySQL抱怨空值;那么,为什么接收空值呢
  • 如果在
    bindParam()
    中传递空值,则PDO会将空值传递给MySQL;为什么要传递空值
  • 当PHP中的变量未定义且您试图使用它时,它将a)发出警告,b)隐式地将其设置为null;为什么要使用未定义的变量
  • 未定义
    $\u GET['firstname']
    (除其他外);为什么没有定义
  • 您在表单中使用的是
    method=“post”
    ,因此表单条目通过
    $\u post
    传递,而不是
    $\u GET
反向工作:

  • MySQL抱怨空值;那么,为什么接收空值呢
  • 如果在
    bindParam()
    中传递空值,则PDO会将空值传递给MySQL;为什么要传递空值
  • 当PHP中的变量未定义且您试图使用它时,它将a)发出警告,b)隐式地将其设置为null;为什么要使用未定义的变量
  • 未定义
    $\u GET['firstname']
    (除其他外);为什么没有定义
  • 您在表单中使用的是
    method=“post”
    ,因此表单条目通过
    $\u post
    传递,而不是
    $\u GET

由于数据不匹配,我在运行cronjob以更新magento中的产品时遇到了相同的问题。一些产品已被删除,脚本是从数据库中的表中运行的,其中已删除产品的条目处于挂起状态,并且在使用产品id更新产品时,出现了错误PDOception',带有消息“SQLSTATE[23000]:


我设置了条件来检查产品是否存在,它对我来说运行良好

这是由于数据不匹配造成的,我在运行cronjob更新magento中的产品时遇到了相同的问题。一些产品被删除,脚本从数据库中的表中运行,其中删除的产品条目处于挂起状态,在使用产品id更新产品时,出现了错误PDOception'消息“SQLSTATE[23000]:


我设置了条件来检查产品是否存在,它对我来说运行良好

url中的查询字符串是什么?如果有帮助。。我正在使用dreamweaver生成代码,我正在使用XAMPP(PHPmyadmin、MySQL、APACHE)除非查询字符串包含每个参数的
key=value
对,否则您的代码将无法工作。如果您只是指url。。(这是只包含上面显示的代码的php文件)表单位于另一个php文件中。请在表单中将方法更改为
GET
,或在php代码中将
$\u GET
更改为
$\u POST
。url中的查询字符串是什么?如果有帮助。。我正在使用dreamweaver生成代码,我正在使用XAMPP(PHPmyadmin、MySQL、APACHE)除非查询字符串包含每个参数的
key=value
对,否则您的代码将无法工作。如果您只是指url。。(这是只包含上面显示的代码的php文件)表单位于另一个php文件中。在表单中将方法更改为
GET
,或者在php代码中将
$\u GET
更改为
$\u POST