Tag: mysqli

代码1的SSL操作失败:dh键太小

我正在通过SSL连接到我的数据库Google Cloud SQL。 我使用codeigniter 3.0来这样做,虽然mysqli驱动程序有点修改,以允许此function。 它已经运行好几个月了。 但是它刚刚开始返回这个警告: Message: mysqli::real_connect(): SSL operation failed with code 1. OpenSSL Error messages: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small 我假设DH Key is too small是主要问题,但我不知道这意味着什么。 我已经使用Diffie-Hellman密钥交换,以及“键太小”的消息,但我没有太多的运气。 这是否表示服务器上的密钥已被篡改? 我已经检查了最近修改的date – 没有exception的近期访问。 这可能是我的服务器做了一些升级到PHP或他们的服务器configuration,这可能会导致此打破,但我想检查,确保它不是别的。 感谢有关这个问题的任何见解/可读材料。

重置PDO结果中的数组指针

我无法从MySQL SELECT方法移动到PDO方法。 我想遍历一个获取的数组两次,两次从第零行开始。 在MySQL中,我会使用: mysql_data_seek($result,0); 使用PDO方法,我不知道如何完成同样的事情。 下面的代码是我如何试图做到这一点。 第一个while循环工作正常,但第二个while循环不返回任何内容。 有人可以告诉我哪里出错了吗? $pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC'); $stmt->setFetchMode(PDO::FETCH_ASSOC); $stmt->execute(); while($row = $stmt->fetch()) { //do something starting with row[0] } while($row = $stmt->fetch()) { //do something else starting […]

从MYSQL更新到MYSQLI

所以,MYSQL被弃用,eveyone不断告诉我要更新,我认为是时候了。 但是因为我不习惯mysqli_ *,所以对我来说这似乎是陌生的。 当我在Mysql中编写整个站点时,这不是一个简单的编辑。 所以我想知道:如何将下面的代码转换成Mysqli? 只是为了给我和其他人处理查询数据库时一个好的起点。 $sql_follows="SELECT * FROM friends WHERE user1_id=".$_SESSION['id']." AND status=2 OR user2_id=".$_SESSION['id']." AND status=2"; $query_follows=mysql_query($sql_follows) or die("Error finding friendships"); if($query_follows>0){ } 编辑:在阅读和编辑我的整个网站上面的代码转换为MYSQLI_会像这样的东西.. $Your_SQL_query_variable= mysqli_query($connectionvariable,"SELECT * FROM friends WHERE user1_id=".$_SESSION['id']." AND status=2 OR user2_id=".$_SESSION['id']." AND status=2")) { printf("Error: %s\n", $mysqli->error); }

mysqli_fetch_assoc()期望参数1是mysqli_result,布尔给定

可能重复: PHP:警告:sort()期望参数1是数组,给定的资源 我对PHP和MySQL相当陌生,我只是无法弄清楚这一点。 我已经search了所有的论坛,但还没有find我可以理解的答案。 我最初使用的是mysql_fetch_assoc(),但是我只能search数字,而且在search字母时也收到了错误。 我希望我能在这里find正确的方向。 预先感谢您的帮助! $con = mysqli_connect($hostname,$username,$password) or die ("<script language='javascript'>alert('Unable to connect to database')</script>"); mysqli_select_db($con, $dbname); if (isset($_GET['part'])){ $partid = $_GET['part']; $sql = 'SELECT * FROM $usertable WHERE PartNumber = $partid'; $result = mysqli_query($con, $sql); $row = mysqli_fetch_assoc($result); $partnumber = $partid; $nsn = $row["NSN"]; $description = $row["Description"]; $quantity = $row["Quantity"]; $condition […]

mysqli bind_param为string数组

我无法得到这个工作。 我已经花了很多时间在这个现在。 这工作: $mysqli = new mysqli("localhost", "root", "root", "db"); if(!$mysqli || $mysqli->connect_errno) { return; } $query_str= "SELECT name FROM table WHERE city IN ('Nashville','Knoxville')"; if($query_prepared && $query_prepared->prepare($query_str)) { $query_prepared->execute(); 但是,我不能让它像这样bind_param工作: $query_str= "SELECT name FROM table WHERE city IN (?)"; $query_prepared = $mysqli->stmt_init(); if($query_prepared && $query_prepared->prepare($query_str)) { $cities= explode(",", $_GET['cities']); $str_get_cities= "'".implode("','", $get_cities)."'"; // This […]

插入数据到表(mysqli插入)

我一直在看这个代码一会儿,我看不出问题在哪里。 我一直在阅读整个StackOverflow,仍然无法看到我的错误在哪里。 <?php mysqli_connect("localhost","root","","web_table"); mysql_select_db("web_table") or die(mysql_error()); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } echo "<p> Connection Successful!" mysqli_query('INSERT INTO web_formitem (ID, formID, caption, key, sortorder, type, enabled, mandatory, data) VALUES (105, 7, Tip izdelka (6), producttype_6, 42, 5, 1, 0, 0)'); echo "<p>Insert successfull"; ?> 错误是在13行,这就是mysqli_query('insert…我试图帮助自己http://www.w3schools.com/php/php_mysql_insert.asp,但它没有帮助我很多。

致命错误:未捕获的exception“mysqli_sql_exception”与消息“在查询/准备语句中没有使用索引”

当我运行下面的代码,我得到错误说 致命错误:未捕获的exception“mysqli_sql_exception”与消息“在查询/准备语句中没有使用索引” $mysql = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database'); if (mysqli_connect_errno()) { printf("DB error: %s", mysqli_connect_error()); exit(); } $get_emp_list = $mysql->prepare("SELECT id, name FROM calc"); if(!$get_emp_list){ echo "prepare failed\n"; echo "error: ", $mysql->error, "\n"; return; } $get_emp_list->execute(); $get_emp_list->bind_result($id, $emp_list); 这就是能干的模式 – — — Table structure for […]

如何在PHP中使用mysqli准备语句?

我正在尝试准备好的语句,但下面的代码不起作用。 我收到错误: 致命错误:调用第12行的/var/www/prepared.php中的非对象的成员函数execute() <?php $mysqli = new mysqli("localhost", "root", "root", "test"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: " . $mysqli->connect_error; } $stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)"); // insert one row $stmt->execute(array('one',1)); // insert another row with different values $stmt->execute(array('two',1)); ?> 另外,我是否需要使用mysqli来准备报表? 任何人都可以指向一个完整的例子,从连接到插入到error handling的select准备好的语句?

MySQLi计数(*)总是返回1

我试图计算表中的行数,并认为这是做到这一点的正确方法: $result = $db->query("SELECT COUNT(*) FROM `table`;"); $count = $result->num_rows; 但计数总是返回(int)1 。 如果我在phpMyAdmin中使用相同的查询,我会得到正确的结果。 它坐在一个表中,所以我也试着testing$count[0] ,但是返回NULL 。 什么是正确的方法来做到这一点?

致命错误:调用未定义函数mysqli_result()

有人可以告诉我为什么这不起作用,当我试图切换我的旧SQL到sqli: $query = "SELECT * FROM `product_category`"; $result = mysql_query($query, $connect) or die("could not perform query: " . mysql_error()); $num_rows = mysql_num_rows($result); for ($i=0; $i < $num_rows; $i++) { $ID = mysql_result($result,$i,"ID"); $name = mysql_result($result,$i,"name"); $description = mysql_result($result,$i,"description"); 至: $query = ("SELECT * FROM `product_category`"); $result = mysqli_query($connect, $query) or die("could not perform query"); $num_rows […]