Php 将相同的值插入到两个不同的表中
我试图在两个表中插入相同的值,都是实际值,在pdo中,我该怎么做它只是向选民插入信息,而不是数据Php 将相同的值插入到两个不同的表中,php,pdo,Php,Pdo,我试图在两个表中插入相同的值,都是实际值,在pdo中,我该怎么做它只是向选民插入信息,而不是数据 <?php $db_name = 'submissions'; $db_user = 'root'; $db_pass = ''; $db_host = 'localhost'; $db = new PDO('mysql:host = localhost;dbname=submissions', $db_user, $db_pass); $formtype = (empty($_POST['f
<?php
$db_name = 'submissions';
$db_user = 'root';
$db_pass = '';
$db_host = 'localhost';
$db = new PDO('mysql:host = localhost;dbname=submissions', $db_user, $db_pass);
$formtype = (empty($_POST['formtype'])) ? : $_POST['formtype'] ;
$poster = (empty($_POST['poster'])) ? : $_POST['poster'] ;
$actual_quote = (empty($_POST['actual_quote'])) ? : $_POST['actual_quote'] ;
$query = $db->prepare("INSERT INTO `data` (actual_quote, poster, formtype) VALUES ( :actual_quote, :poster, :formtype)");
$query->bindParam(':formtype', $formtype, PDO::PARAM_STR);
$query->bindParam(':poster', $poster, PDO::PARAM_STR);
$query->bindParam(':actual_quote', $actual_quote, PDO::PARAM_STR);
$query->execute();
$query1 = $db->prepare("INSERT INTO voters (actual_quote) VALUES ( :actual_quote)") or die(mysql_error());
$query1->bindParam(':actual_quote', $actual_quote, PDO::PARAM_STR);
$query1->execute();
?>
我修复了它,我必须搞乱数据库,否则就死(mysql_error())代码>???您不应该混合使用mysql和PDO:
if(isset($_POST['formtype'], $_POST['poster'], $_POST['actual_quote'])){
//post data
$formtype = $_POST['formtype'];
$poster = $_POST['poster'] ;
$actual_quote = $_POST['actual_quote'] ;
//credential
$db_name = 'submissions';
$db_user = 'root';
$db_pass = '';
$db_host = 'localhost';
//connection
$db = new PDO('mysql:host = localhost;dbname=submissions', $db_user, $db_pass);
//very very important
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//data query
$query = $db->prepare("INSERT INTO `data` (actual_quote, poster, formtype) VALUES (:actual_quote, :poster, :formtype)");
$query->bindValue(':formtype', $formtype, PDO::PARAM_STR);
$query->bindValue(':poster', $poster, PDO::PARAM_STR);
$query->bindValue(':actual_quote', $actual_quote, PDO::PARAM_STR);
$query->execute();
//voters query
$query = $db->prepare("INSERT INTO voters (actual_quote) VALUES ( :actual_quote)");
$query->bindValue(':actual_quote', $actual_quote, PDO::PARAM_STR);
$query->execute();
}
到底是什么问题?您的三元语法不正确,您不能只说
empty($var)?:$var
,您需要指定一个空值,无论它是'
还是null
,例如$formtype=empty($\u POST['formtype'])?null:$_POST['formtype']代码>@scrowler实际上,它是正确的,你可以。当$var
为空时,结果为true
@Phil指出-在本例中,这可能不是一个正确的解决方案,但很高兴知道您可以这样做:)是否对投票者有任何不满意的约束?