Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.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
Php PDO执行问题与$u POST变量_Php_Forms_Pdo - Fatal编程技术网

Php PDO执行问题与$u POST变量

Php PDO执行问题与$u POST变量,php,forms,pdo,Php,Forms,Pdo,当我试图使用$\u POST变量将某些内容插入数据库时,我遇到了麻烦 目前这是我如何设置它。当我把这些变量传递给它时,它就工作了。注意,在工作示例中,我将所有参数都设置为1 $video_id = 1; $user_id = 1; $session_id = 1; $user_rating = 1; $conn = new PDO("mysql:host=$hostname;dbname=db_name", $username, $password); $q = $conn->p

当我试图使用
$\u POST
变量将某些内容插入数据库时,我遇到了麻烦

目前这是我如何设置它。当我把这些变量传递给它时,它就工作了。注意,在工作示例中,我将所有参数都设置为1

$video_id = 1;
$user_id = 1;
$session_id = 1;
$user_rating = 1;

$conn = new PDO("mysql:host=$hostname;dbname=db_name", $username, $password);
    $q = $conn->prepare('INSERT INTO video_rating (rating, video_id, user_id, sessionid) VALUES (?, ?, ?, ?)');

$q->execute(array($user_rating, $video_id, $user_id, $user_rating));
但是,当我使用POST变量时

$video_id = $_POST['video_id'];
$user_id = $_POST['user_id'];
$session_id = $_POST['session_id'];
$user_rating = $_POST['user_rating'];
然后运行相同的PDO execute,它不工作

我的表格是这样的

<form id="rate-form" method="post" enctype="multipart/form-data">
<input class="auto-submit-star" type="radio" name="user-rating" value="1" title="Very poor"/>
<input class="auto-submit-star" type="radio" name="user-rating" value="2" title="Poor"/>
<input class="auto-submit-star" type="radio" name="user-rating" value="3" title="OK"/>
<input class="auto-submit-star" type="radio" name="user-rating" value="4" title="Good"/>
<input class="auto-submit-star" type="radio" name="user-rating" value="5" title="Very Good"/>
<span id="hover-test" style="margin:0 0 0 15px;" class="rate-text"></span>
<input type="hidden" name="video_id" value="251"/>
<input type="hidden" name="user_id" value="3"/>
<input type="hidden" name="session_id" value="1"/>
<input type="hidden" name="rate_form" />  
</form>


你能看到一些我可能忽略的东西吗,关于它为什么不工作。

你的SQL正在寻找:

 $user_rating = $_POST['user_rating'];
您的HTML包括:

 <input class="auto-submit-star" type="radio" name="user-rating" ...

那是一个打字错误,谢谢你抓住了。但这仍然无法解决数据库中没有显示任何内容的问题。在这种情况下,您是否尝试过检查在进行插入时数据库是否返回错误?我可能也会从表单中丢失`enctype=“multipart/form data”“。我最初没有这样做,只有在试图解决这个问题时才添加了它。我还有,
catch(PDOException$e){echo$e->getMessage();}
并且没有显示任何内容
var_dump()
$\u POST
产生了什么?请停止使用模拟的文件。