我的数据库使用UTF8_CZECH_CI COLLATION,我也想将其设置为数据库连接. MySQLI_SET_CHARSET,如果我不想要默认的utf8_general_ci,我将不允许我设置整理. 编辑:现在我基本上使用代码 yourCommonSense 建议: $spojeni=mysqli_connect('mysql01','username','password', 'my_database'); if (!$spojeni) die('Nepodařilo se připojit k databázi.'); mysqli_set_charset($spojeni,'utf8'); mysqli_query($spojeni, "SET COLLATION_CONNECTION = 'utf8_czech_ci';"); 但是,我只是面对碰撞的非法混合错误.在通过mysqli_get_charset()测试我的连接整理时,我发现我的整理是"
以下是关于 mysqli 的编程技术问答
我已经得到了此代码,因此通过PHP将值插入MySQL的表中.我尝试了所有可能的插入语法,它没有插入数据...这是我使用的代码. $param = "xyzxyz"; $param1 = "sdfdfg"; $sql = "INSERT INTO trail (User_Name, Quiz_ID) VALUES ('".$param."','".$param1."')"; $result = $mysql->query($sql); if($result) echo "successful"; else echo mysql->error; if(mysql->errno==0) echo "successful" else echo mysql->error; 我什至尝试了以下SQL语法 "INSERT INTO trail (User_Name, Quiz_ID) VALUES ('$param1','$param1')"; "INSERT
以下代码: $dbc = mysqli_connect("localhost","root","root","magnificantDatabase") or die("Could not connect to database"); $sql = "INSERT INTO accounts(username, password, ip) VALUES('$username','$password','$ip')"; mysqli_query($dbc, $sql) or die(mysqli_error($dbc)); 当mysqli_query失败返回错误时,应该返回错误,不是吗? 但是没有:/ 有人有任何想法为什么不这样做? 哦,通过返回没有错误,我的意思是什么都没有返回. 只是完全空白. 编辑:我想让您知道,在搜索网络之后(即使这似乎是一个常见的问题),我没有找到任何解决此问题的东西,但是有任何问题,但是我没有发现它们似乎完全相同
我正在尝试根据用户输入来创建动态搜索查询. 要求: 用户可以填写任何,某些或所有字段. 在表中查询搜索与所有要求符合所有要求的记录. 现在我已经完成了研究,并且发现了多种方法.但是他们都没有工作,如果他们这样做,它们远非实用. 尝试: 目前我正在创建这样的查询: SELECT * FROM assignments WHERE (id = $id OR id = '') AND (field1 = $field1 OR field1 = '') 此查询有效,但前提是您填写所有字段. 我从堆叠的文章中得到了这一点,我找不到了,也就是说: 如果用户填写了输入字段,它将检查第一个规则 " ID = $输入" 如果用户尚未指定任何输入,它将检查" id =''"以及何时检查 对此进行检查,它只会返回所有内容.因为它逃脱了空搜索规则. ,但是您可能已经知道,它行不通. 您将如何建议我处理这个? 解决方案 尝试获取所有
我想将数据插入Image_Question表中.但是它不会在Image_Question表中执行插入. 我遇到了两个错误: 注意:未定义的偏移:0 in ...在第305行 注意:未定义的偏移:3 in ...在第305行 这是您可以使用的应用程序:应用程序 使用应用程序查看正在发生的事情执行以下操作: 单击Add Question按钮两次附加两个文件输入 现在一次上传一个文件,但这样做.在第1行中上传文件输入中的文件,然后在第2行中上传文件,然后在第1行中上传文件,然后在第2行中上传文件. 以下是mysqli代码: // Prepare your statements ahead of time $questionsql = "INSERT INTO Question (QuestionNo) VALUES (?)"; if (!$insert = $mysqli->prepare($questionsql)) { // Handl
我的网站正在使用Onload Ajax.因此,当用户进入第6页时,AJAX调用是并行执行的.在过程的中间,如果用户关闭浏览器或导航到另一页,我想杀死查询. 实现这一目标的步骤: 1.找到下一个MySQL查询执行ID(连接标识符)并将其存储到会话中. http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html 我们需要在执行读取(选择)查询之前识别此ID.因为PHP将按线执行. 问题 How do we identify the next connection identifier? 或 How do we reserve the connection identifier and execute the query on specified identifier? 2 .在数据库中执行查询. 3.如果确定了中止用户,则杀死MySQL查询执行.我们可以使用Connecti
MySQLND驱动程序PHP 5.6有机会使用异步查询 如何使用PDO使用异步查询? 这是不起作用的,代码( php asynchronous mysql-query ) > $dbConnectionOne = new \PDO($cnn0, $conf['user'], $conf['pass']); $dbConnectionOne->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $dbConnectionTwo = new \PDO($cnn0, $conf['user'], $conf['pass']); $dbConnectionTwo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $dbConnectionTwo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,
当我在页面中多次调用过程时,我很难打电话和显示内容.我正在尝试从两个不同的SP调用MySQL显示两个单独的记录集.我可以显示第一个呼叫,但第二个呼叫失败.我不确定我做错了什么,但也许有人可以帮助您? 我在调用第二个过程时不断出现错误: Error calling SPCommands out of sync; you can't run this command now 我在Windows上运行 代码下面... php // First call to SP $page = 2; $section = 1; include("DatabaseConnection.php"); //general connection - works fine $sql = 'CALL GetPageContent("'.$page.'", "'.$section.'")'; $result = mysqli_query($conn, $sql) or die('Erro
我正在考虑将所有PHP项目切换到MySQLI.我的代码的编写方式(我运行非常简单的网站并构建了我自己的基本框架,这些框架在所有这些框架中都使用)我不应该在修改功能和类时遇到太多问题. 但是,我只听到有关准备陈述的积极信息,对可用的PHP功能进行了一些抱怨,最值得注意的是,缺乏一段时间以来使用MySQL_Fetch_Array的简单替代品. 这听起来有点太好了,所以我想知道是否有人可以突出一些使用准备好的语句的问题,例如速度和资源使用. 解决方案 编程准备的语句的编程需要一些习惯,如果您习惯了将变量附加到查询字符串. MySQL使用位置参数(您的查询将包含替换VAR所属的问号).最好的选择是将其放入您现有的数据库抽象中.如果该抽象正确编写,那么无论如何,您都不应该在包装外打电话. 解决此问题的解决方案只是要提前收集所有行,但是当然假设您不检索1000行,而只是要求第一个行.无论mysqli如何,这都是一个更改. 最后,某些语句不容易被参数替换,例如使用in(
我刚刚启动了一个新的PHP项目,我想是时候遵循PHP建议了,停止使用MySQL和Swith来改为Mysqli.但这给了我一个问题. 正常我的设置就像这样 index.php文件和此文件中,我有2个需要语句.一个要求db.php文件,另一个呼叫functions.php文件.到目前为止还不错. 在functions.php文件a中具有许多不同的函数,这些功能在整个主页上都使用,其中许多功能都使用SQL. 使用php旧的mysql API,这没问题,但是新型mysqli api不允许从随附的文件中使用连接? ? 例如,在我的db.php中,我有连接语句. $db = mysql_connect(*******); 在我的功能中,我有mysql_query(******),而且完美. ,但是如果我将db.php更改为$db = mysqli_connect(*****); 然后在我的函数.php文件中,我无法调用mysqli_query(***). (我还测试了
我正在尝试使用mysqli使用mysqli_connect()连接到我的MySQL数据库.但是,每当我获取试图连接到数据库的.php文件的引用时,它就会造成致命错误: 致命错误:未定义的错误:致电未定义的功能mysqli_connect() 我读到您必须从php.ini中删除半彩色,但是我的PHP7文件夹不包含严格的php.ini文件.它只有php.ini开发和生产;删除与Mysqli有关的任何事物的半彩色.为了记录,我也不使用XAMPP或喜欢的任何Web服务器应用程序.相反,我正在使用PHP的命令来运行服务器: php -s localhost:8000 我不确定这是否与它有关. 此外,当我运行phpinfo()时,它指出: 加载配置文件(无) 我如何让mysqli工作? 解决方案 如果您使用的是PHP 7和Ubuntu 16.04,则可以这样做: sudo apt-get update sudo apt-get install php
尝试执行我的PHP脚本时会遇到错误: 致命错误:在... 中致电成员函数fetch_array() 所讨论的代码在这里: function backup() { global $mysqli; $bup = "SELECT p.product_id, p.ean, p.image, p.model, p.status, p.price_sync, p.modified_by, p.date_modified, pd.name, pd.description, pd.language_id, pd.meta_description, pd.meta_keyword, pd.tag FROM oc_product p INNER JOIN oc_product_description pd ON p.product_id = pd.product_id"; $backup = $mysqli->query($bup);
在这里讨论: 直接运行但在JS时不起作-ajax 我可能需要在网络服务器PHP副本中启用mysqli. 它已经在命令行中启用. 我如何弄清楚是否在特定的PHP副本中启用mysqli, 如果不是,我该如何安装? 我的Web服务器正在运行Ubuntu 14.04.2 Lts. 我现在尝试在我的php.ini文件中使用以下扩展名: extension=mysqli.so extension=pdo_mysql.so extension=php_mysqli.so 我已经尝试单独运行它们,重新启动mysql和apache,ran sudo php5enmod mysqli然后再次运行页面,但是在/var/log/apache/error.log.log.log: PHP Fatal error: Class 'mysqli' not found in /var/www/html/.. ,除非我从服务器端运行insert.php,否则任何内容都不会添加到S
IM在大多使用数据库的网站上工作.问题是我会遇到以下错误:mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known 我无法弄清楚如何修复它.我已经penta检查了连接,似乎还可以. function connect($hostname, $username, $password, $database) { $conid = mysqli_connect($hostname, $username, $password, TRUE); if($conid == FALSE) { if(DEBUG == TRUE) { show_error("MySQL Connection using `$hostname`, `$username`, `$password` was refused
我正在使用MySqli准备的语句将记录插入表中的记录 $link = mysqli_connect('localhost', 'my_user', 'my_password', 'world'); /* check connection */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)"); mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent); $code = 'DEU'; $language = 'Bavarian'; $official = "F"; $percent = 11.2;
有人可以告诉我,例如,当您更新时,插入,删除..您是否应该像那样关闭它. mysqli_stmt::close(); ?我检查了PHP手册,不明白close()实际上是什么. 示例: $stmt = $dbh->prepare("SELECT `user_email` FROM `users` WHERE `user_email` = ? LIMIT 1"); $stmt->execute(array($email)); $stmt->close(); 我问题的下一部分是,如果作为示例,我在 transaction 中都有多个更新查询在每个查询中,我在 transaction 中执行的每个execute()>我应该单独关闭它们吗? ...因为这是一项交易,不确定我需要在每个execute()之后使用$stmt->close();;或者只是在所有$stmt->close();之后使用一个$stmt->close();? 解决方案 似乎您正在使用mysqli关闭方法.
我一直在将网站从未受保护的mysql查询中重新加工到mysqli准备的语句,并且一切都很好,直到我得到它:在准备好的语句中没有为参数提供数据. if(empty($err)) { $pSETQuery = NULL; if(!empty($_POST['password'])) { $pSETQuery .= ", password = ?"; } if($session->isSuperuser()) { $pSETQuery .= ", usertype = ?"; } if(!($stmt = $database->prepare("UPDATE user SET username = ?, email = ? $pSETQuery WHERE UserId = ?"))) { $err[] = "PREPARE FAILED."; } $stmt->bind_p
将PHP脚本从PHP 5.2迁移到PHP 5.3时,我偶然发现了以下问题: 脚本的一般目的是数据挖掘. 我有一个过程,将数据添加到MySQL Server中. 由于它确实是重复的,因此我(不久前)将其重写用于使用mysqli,特别是准备好的语句,因为总共有3个可能的查询可以执行. 无论如何,现在,在PHP 5.3服务器上,脚本在以下行上崩溃: mysqli_stmt_bind_result($prepCheck, $id1); 其中$prepCheck用$prepCheck = mysqli_prepare($con, $checkQuery) or die("Error");创建.查询在MySQL Server上运行良好(即$ CheckQuery,也就是说),并且PHP代码在上一个服务器上也可以正常工作. 使用strace运行脚本没有任何内容,因为其中的最后一件事是echo "Execute";的系统,即29936 19:44:18 write(1, "Execute
我想在执行PHP脚本时显示加载图像.我已经阅读了有关如何执行此操作的不同答案,但大多数人表示我应该拥有一个单独的PHP页面.但是,我正在使用单页显示行,那么我如何才能显示加载图像? 选择查询的示例,我用来获取数据: $stmt = $mydb->prepare("select * from table where firstname = ? and id = ? "); $stmt->bind_param('ss', $firstname, $id); $stmt->execute(); $stmt->close(); 解决方案 在大多数情况下,您 有两页.首页,客户端,致电到另一个页面,服务器端,并在等待时显示出漂亮的旋转内容.当服务器端页面完成加载时(查询完成时)首页会收到响应,然后您可以隐藏漂亮的旋转内容,让用户知道它已经完成. 您可以在纯JavaScript中使用Ajax,或者在JQuery中更简单 - 在PHP页面中动态加载一些数据,并在等待时