Tag: MySQL

PHP:警告:sort()期望参数1是数组,给定的资源

我想用sort()函数来排列表列表的数组,但是我得到了同样的警告我的代码如下: <?PHP require_once("lib/connection.php"); $result = mysql_query("SHOW TABLES FROM `st_db_1`"); sort($result); foreach ($result as $result){ echo $result ; } ?> 我得到的警告是: Warning: sort() expects parameter 1 to be array, resource given in C:\wamp\www\Copy (4) of st_db_1\test_2.php on line 9 Warning: Invalid argument supplied for foreach() in C:\wamp\www\Copy (4) of st_db_1\test_2.php on line 10

在MYSQL中自动删除超过7天的行的存储过程

我想知道是否可以创build一个自动存储过程,每天在00:00,删除每个表的每一行超过7天。 我已经看到了一些解决scheme,但不知道它是什么,我正在寻找,如果有人有任何好的例子,会很好。 我知道这可以用python和php中的简单脚本来完成,但是我希望MySQL能够更自动化。 任何帮助将非常感激。 谢谢!

MySQL和PHP:带西里尔文字符的UTF-8

我试图在MySQL表中插入西里尔值,但编码有问题。 PHP的: <?php $servername = "localhost"; $username = "a"; $password = "b"; $dbname = "c"; $conn = new mysqli($servername, $username, $password, $dbname); mysql_query("SET NAMES 'utf8';"); mysql_query("SET CHARACTER SET 'utf8';"); mysql_query("SET SESSION collation_connection = 'utf8_general_ci';"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "UPDATE `c`.`mainp` SET `search` = 'test тест' WHERE `mainp`.`id` =1;"; […]

Mysqli_Query警告:mysqli_query()期望参数1是mysqli

我在我的代码中得到这个错误,我不知道如何解决它我的代码: <?php session_start(); include_once"connect_to_mysql.php"; $db_host = "localhost"; // Place the username for the MySQL database here $db_username = "root"; // Place the password for the MySQL database here $db_pass = "****"; // Place the name for the MySQL database here $db_name = "mrmagicadam"; // Run the actual connection here $myConnection= mysql_connect("$db_host","$db_username","$db_pass") or die ("could not […]

MySQL的准备语句LIMIT关键字

SELECT id, content, date FROM comment WHERE post = ? ORDER BY date DESC LIMIT ?, ? 与PDO(我使用MAMP 2.0.5,有Apache 2.2.21,PHP 5.3.6和MySQL 5.5.9)准备语句这不起作用,如果我改变查询 LIMIT 0, 10 有用。 我看到MySQL的错误,这是以前的版本中的错误,但我不明白,如果这仍然是要解决的。 如果这仍然是一个问题,有办法以另一种方式select一系列的行? 码: $comments = $db->prepare($query); /* where $db is the PDO object */ $comments->execute(array($post, $min, $max));

mysqli给“命令不同步”的错误 – 为什么?

我试图运行以下。 <?php $db = mysqli_connect("localhost","user","pw") or die("Database error"); mysqli_select_db($db, "database"); $agtid = $_POST['level']; $sql = sprintf("call agent_hier(%d)", $agtid); $result = mysqli_query($db, $sql) or exit(mysqli_error($db)); if ($result) { echo "<table border='1'> <tr><th>id</th> <th>name</th> <th>parent_id</th> <th>parent_name</th> <th>level</th> <th>email</th></tr>"; while ($row = mysqli_fetch_assoc($result)) { $aid = $row["id"]; $sql2 = "SELECT * FROM members WHERE MEMNO = '$aid'"; $result2 […]

为什么数据库行元组中的整数有一个'L'后缀?

我的问题是为什么一个MySQL行的整数值有一个'L'后缀? 以下是详细信息: 下面的字典 – 为了便于显示而人为地格式化 – {'estimated': '', 'suffix': '', 'typeofread': 'g', 'acct_no': 901001000L, 'counter': 0, 'time_billed': datetime.datetime(2012, 5, 1, 9, 5, 33), 'date_read': datetime.datetime(2012, 3, 13, 23, 19, 45), 'reading': 3018L, 'meter_num': '26174200'} 由一个MySQL数据库表格的列组成,并且从表格中读取一次。 我可以通过将这些值传递给int()来移除'L',所以如果这个字典在一个名为snapped_read的variables中,我可以这样做: int(snapped_read['reading'])和3018L会变成3018 。 我只是好奇为什么整数显示这种方式。

在MySQL中可以有基于函数的索引吗?

我记得在Oracle中可以基于一个函数进行索引,例如SUBSTRING(id,1,8) 。 MySQL支持这个吗? 如果没有,是否有其他的select?

如何用一系列date填充表格?

我需要一个MySQL表来保存2011-01-01和2011-12-31之间的所有date。 我创build了一个列名为“_date”的表,inputDATE。 用什么查询我可以用所有期望的date填充表(而不是必须手动input)?

mysqlselectdynamic行值作为列名,另一列作为值

我有一个遗留的用户信息表(这仍然在积极使用),我不能改变的结构 – id name value —————————— 0 timezone Europe/London 0 language en 0 country 45 0 something x 1 timezone Europe/Paris 1 language fr 1 country 46 时区/语言/国家等只是名称的例子,它们可以是可变的/除了在该列的行上的唯一性之外没有有限的列表 我需要一个MySQL兼容的SQL查询,将返回 – id timezone language country something ————————————————— 0 Europe/London en 45 x 1 Europe/Paris fr 46 我已经通过各种各样的解决scheme,看看围绕黑客入侵MySQL的数据透视表function,以及类似的,但没有一个似乎匹配这种情况下从同一个表的列中的唯一行值使用variables列名别名。 虽然我几乎没有睡觉,所以他们都开始变得模糊,提前道歉。 最近我可以find将使用预先准备的语句https://stackoverflow.com/a/986088/830171这将首先从名称列中获取所有可能的/唯一的值,并build立使用CASE WHEN ,和/或多个子查询的查询, SELECT或JOIN在相同的表查询。 我能想到的替代方法是获取该用户标识的所有行,并在应用程序本身的for循环中处理它们,或尝试将名称限制为有限的数量并使用子SELECT / JOIN 。 […]