Tag: mysqli

绑定参数数组的参数

我有一个这样的function: function registerUser($firstName, $lastName, $address, $postcode, $email, $password) { $params = array($firstName, $lastName, $address, $postcode, $email, $password); $result = $this->db->bind("INSERT INTO Users VALUES (?, ?, ?, ?, ?, ?)", 'ssssss', $params); } 这发送到我的数据库类,这是这样的: public function bind($query, $type, $params) { $this->query = $query; $stmt = $this->mysqli->prepare($this->query); $stmt->bind_param($type, $param); $stmt->execute; } 问题是这是行不通的。 我所希望做的是获取$params列表,并在$type后面列出它们,以便查询将类似于: $stmt->bind_param('ssssss', $firstName, $lastName, $address, […]

使用php / mysqli中的存储过程检索多个结果集

我有一个有多个结果集的存储过程。 如何提前到mysqli中的第二个结果集来获得这些结果? 假设这是一个存储过程,如下所示: create procedure multiples( param1 INT, param2 INT ) BEGIN SELECT * FROM table1 WHERE id = param1; SELECT * FROM table2 WHERE id = param2; END $$ PHP是这样的: $stmt = mysqli_prepare($db, 'CALL multiples(?, ?)'); mysqli_stmt_bind_param( $stmt, 'ii', $param1, $param2 ); mysqli_stmt_execute( $stmt ); mysqli_stmt_bind_result( $stmt, $id ); 那么这是我无法工作的部分。 我已经尝试使用mysqli_next_result移动到下一个结果集,但不能得到它的工作。 我们确实让它与mysqli_store_result和mysqli_fetch_assoc / array […]

如何安装MySQLi

我找不到有关在Mac上安装MySQLi的说明。 只是要清楚,MySQL是最新的,我正在运行PHP 5.我如何安装它? 我甚至从哪里得到它? 谢谢你的帮助。 我会给予回应的人和复选标记!

用MySQL准备的语句“WHERE IN(..)”查询和sorting

想象一下,我们有一个查询: SELECT * FROM somewhere WHERE `id` IN(1,5,18,25) ORDER BY `name`; 和一个ID数组来获取: $ids = array(1,5,18,25) 通过准备好的陈述, build议您准备一个陈述并多次调用它: $stmt = $mysqli->prepare('SELECT * FROM somewhere WHERE `id`=?;'); foreach ($ids as $id){ $stmt->bind_params('i', $id); $stmt->exec(); } 但现在我必须手动sorting结果。 我有什么好的select吗?

SQL作为维恩图join

我在理解sql中的连接时遇到了麻烦,并且遇到了我认为可能会帮助我的这个映像。 问题是我不完全理解它。 例如,图像右上angular的连接,其中B的全部颜色为红色,但只有A的重叠。图像使得它看起来像是圆圈B是sql语句的主要焦点,但是sql语句本身,从A开始(从A中select,joinB),给我的印象是相反的,即A将成为sql语句的焦点。 同样,下面的图片只包含了B圈的数据,那么为什么在连接语句中包含了A呢? 问题:从右上angular开始按顺时针方向工作,然后在中心完成,可以有人提供关于每个sql映像表示的更多信息,解释 a)为什么在每种情况下都需要join(例如,尤其是在没有从A或B中获取数据的情况下,即只有A或B而不是两者都有颜色的情况下) b)以及其他任何可以阐明为什么图像是sql的良好表示的细节

两个mysqli查询

是否有可能有两个mysqli_queries像这样? mysqli_query($dblink, "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName')") or die(mysql_error()); mysqli_query($dblink, "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year')") or die(mysql_error()); 基本上我想更新我的数据库中的两个表。 有没有更好的方法来做到这一点?

警告:mysqli_select_db()需要恰好2个参数,1在C:\

我正在做一个教程,作者没有更新他的内容来反映PHP文档中的变化。 无论如何,我需要知道什么参数被要求我提供。 我已经检查过所有事情都是按顺序进行的,但是我实际上并不知道我应该提供什么。 这是我有: Connects.php <?php $connect_error = 'Sorry, we\'re experiencing connection issues.'; $con = mysqli_connect('localhost', 'root', 'PwdSQL5'); mysqli_select_db('phpcadet') or die($connect_error); ?> 但我得到的错误: 编辑:找出解决Connects.php问题后,这里是为什么当我修复它…更多的错误,这里是我的代码。 记住我是PHP的新手,并且正在执行一个做得不好的教程。 警告: mysqli_real_escape_string()期望参数1是mysqli,在第4行的C:\ vhosts \ phpcadet \ core \ functions \ general.php中给出的string General.php <?php function sanitize($data) { return mysqli_real_escape_string($data, 'What goes here?'); } ?> 然后这个: 警告 :mysqli_query()期望参数1是mysqli,在第7行的C:\ vhosts \ phpcadet \ […]

如何回应MySQLi准备好的声明?

我正在玩MySQLi,试图弄清楚它是如何工作的。 在我当前的项目中,我总是喜欢在编码时回显一个查询string,只是为了确保一切正确,并快速debugging我的代码。 但是…我怎么能用一个准备好的MySQLi语句来做到这一点? 例: $id = 1; $baz = 'something'; if ($stmt = $mysqli->prepare("SELECT foo FROM bar WHERE id=? AND baz=?")) { $stmt->bind_param('is',$id,$baz); // how to preview this prepared query before acutally executing it? // $stmt->execute(); } 我一直在通过这个列表( http://www.php.net/mysqli ),但没有任何运气。 编辑 那么,如果MySQLi内部不可能的话,也许我会坚持这样的事情: function preparedQuery($sql,$params) { for ($i=0; $i<count($params); $i++) { $sql = preg_replace('/\?/',$params[$i],$sql,1); } return […]

PHP错误:“不能通过引用传递参数2”

我只需要帮助这个PHP错误,我不太明白: 致命错误:无法在第13行的/web/stud/openup/inactivatesession.php中通过引用传递参数2 <?php error_reporting(E_ALL); include('connect.php'); $createDate = mktime(0,0,0,09,05,date("Y")); $selectedDate = date('dm-Y', ($createDate)); $sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?"; $update = $mysqli->prepare($sql); $update->bind_param("is", 0, $selectedDate); //LINE 13 $update->execute(); ?> 这个错误是什么意思? 这个错误怎么解决?

MySQLi中的参数

我在MySQLi中使用PHP,而且我处于有类似查询的情况 SELECT $fields FROM $table WHERE $this=$that AND $this2=$that2 到目前为止,我已经写了一些代码来拼接一个我给它的数组,例如: $search = array(name=michael, age=20) //turns into SELECT $fields FROM $table WHERE name=michael AND age=20 有没有更有效的方法来做到这一点? 我很担心MySQL注入 – 这看起来很脆弱。 谢谢!