でプリペアドステートメントを使用してデータを提出した後、私はPDO接続でAJAXを使用してデータベースにデータを送信しようとしていましょうが、時にはデータがいつかない提出されています。私はAJAX応答を空にしています。 時々私は$mailbody=$_POST['mailbody'];
を空にしています。私はページをリフレッシュし、再度投稿をクリックしてデータを投稿するとエラーがPDO接続
また、私はいくつかのエラーが発生しています。これで私を助けてくれますか?
<br />
<b>Fatal error</b>: Uncaught Error: Call to undefined method PDOStatement::bind_param() in C:\xampp\htdocs\fillter\process.php:23
Stack trace:
#0 C:\xampp\htdocs\demo\process.php(7): aus(Object(PDO))
#1 {main}
thrown in <b>C:\xampp\htdocs\demo\process.php</b> on line <b>23</b><br />
PDO接続
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "dbname";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
Process.php
date_default_timezone_set('Asia/Kolkata');
$date_of_added= date('d-m-Y H:i:s');
switch($_GET['key']) {
case 'aus':aus($conn);break;
default : redirect('index.php');
}
function aus($conn){
$emailtemplate=$_POST['emailtemplate'];
$subject=$_POST['subject'];
$mailbody=$_POST['mailbody'];
$country="AUS";
$email_status=0;
global $date_of_added;
$sql ="INSERT INTO request(bulkemails, subjects, mailbody, country, email_status, date_of_send) VALUES (?,?,?,?,?,?)";
//echo $sql;
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssssis", $emailtemplate, $subject, $mailbody,$country, $email_status, $date_of_added);
$stmt->execute();
$stmt->close();
$conn->close();
}
のAjax
$(function() {
$("form[name='bulkmailsend']").validate({
// Specify the validation rules
rules: {
emailtemplate:{
required: true,
},
subject: {
required: true}
},
submitHandler: function(form) {
//form.submit();
var emailtemplate = $('#emailtemplate').val();
var subject = $('#subject').val();
var mailbody = $('#editor11').val();
//alert(mailbody);
$.ajax(
{
url:'process.php?key=aus',
type:'POST',
data:{
'emailtemplate':emailtemplate,
'subject':subject,
'mailbody':mailbody
},
success:function(data)
{
alert(data);
},
});
}
});
});
HTML
<form action="" method="post" name="bulkmailsend" id="bulkmailsend">
<textarea name="emailtemplate" placeholder="Enter email" id="emailtemplate"></textarea>
<input type="text" name="subject" placeholder="Subject" id="subject">
<textarea name="mailbody" id="editor11"></textarea>
<input type="submit" name="addmail" id="addmail" value="Send">
</form>
私のために働いています。ありがとう、Mr.Peter –