在php中使用prepare和bind_参数时出现问题
我在php中使用prepare和bind_param语句时遇到问题。我的代码如下:在php中使用prepare和bind_参数时出现问题,php,mysql,mysqli,Php,Mysql,Mysqli,我在php中使用prepare和bind_param语句时遇到问题。我的代码如下: <?php $dbhost = 'localhost'; //default $dbuser = 'root'; $dbpass = ‘somepassword’; //Create a connection object $conn = new mysqli($dbhost, $dbuser, $dbpass); if($conn->connect_error ) { die('Could
<?php
$dbhost = 'localhost'; //default
$dbuser = 'root';
$dbpass = ‘somepassword’;
//Create a connection object
$conn = new mysqli($dbhost, $dbuser, $dbpass);
if($conn->connect_error )
{
die('Could not connect: %s' . $conn->connect_error);
}
echo "Connected successfully<br>";
$conn->select_db("TUTORIAL");
$stmt=$conn->prepare("INSERT INTO tutorial_info (tutorial_title,tutorial_author) VALUES (?,?)");
$stmt->bind_param("sss",$tutorial_title,$tutorial_author);
//try and insert
$tutorial_title=“English Lit”;
$tutorial_author=“Bob Trotter”;
$stmt->execute();
//Close the database
$conn->close();
?>
当我执行脚本时,会收到消息“connected successfully”,但是如果我检查表内容,则新行尚未添加。你知道我可能做错了什么吗
我还在文档中看到,在bind_param中,我们添加了一个附加参数,即$stmt->bind_param(“sss”,$tutorial_title,$tutorial_author);在这种情况下,它是“sss”。它是用来干什么的?我能把它处理掉吗
任何指点都将不胜感激!谢谢bind_param的第一个参数描述了参数的类型 例如,您可以为
string
指定s
,为integer
指定i
。第一个参数中的字符数必须完全覆盖其他参数的数量。请尝试此代码
<?php
$dbhost = 'localhost'; //default
$dbuser = 'root';
$dbpass = ‘somepassword’;
//Create a connection object
$conn = new mysqli($dbhost, $dbuser, $dbpass);
if($conn->connect_error )
{
die('Could not connect: %s' . $conn->connect_error);
}
echo "Connected successfully<br>";
$conn->select_db("TUTORIAL");
$stmt=$conn->prepare("INSERT INTO tutorial_info (tutorial_title,tutorial_author) VALUES (?,?)");
$stmt->bind_param("ss",$tutorial_title,$tutorial_author);
//try and insert
$tutorial_title=“English Lit”;
$tutorial_author=“Bob Trotter”;
$stmt->execute();
//Close the database
$conn->close();
?>
删除额外的
$stmt=$conn->prepare("INSERT INTO tutorial_info (tutorial_title,tutorial_author) VALUES (?,?)");
$stmt->bind_param("ss",$tutorial_title,$tutorial_author);