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
产生了什么?请停止使用模拟的文件。