Tag: MySQL

何时使用MongoDB或其他面向文档的数据库系统?

我们为video和audio剪辑,照片和vectorgraphics提供了一个平台。 我们以MySQL作为数据库后端,最近包含了MongoDB,用于存储文件的所有元信息,因为MongoDB更符合要求。 例如:照片可能有Exif信息,video也可能有音轨,我们也想存储这些元信息。 video和vectorgraphics不共享任何共同的元信息等,所以我知道,MongoDB是完美的存储这种非结构化的数据,并保持search。 但是,我们继续开发我们的平台并添加function。 现在接下来的一个步骤就是为我们的用户提供一个论坛。 现在出现的问题是:使用MySQL数据库,这将是一个很好的select存储论坛和论坛post等,或使用MongoDB呢? 所以问题是:何时使用MongoDB以及何时使用RDBMS。 你会采取什么,mongoDB或MySQL,如果你有select,你为什么要采取它?

PHP的mysqli准备语句像

我怎么能用mysqli查询LIKE并获得所有结果? 这是我的代码,但它没有工作: $param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id,Username FROM users WHERE Username LIKE ?"); $stmt->bind_param("s", $param); $stmt->execute(); $stmt->bind_result($id,$username); $stmt->fetch(); 这段代码似乎没有工作。 我搜查了很多。 也可能会返回超过1行。 那么即使返回多于一行,我怎样才能得到所有的结果呢?

mysql_fetch_array()期望参数1是资源问题

可能重复: “警告:mysql_fetch_array()期望参数1是资源,布尔给定”错误,同时尝试创build一个PHP的购物车 我不明白,我看到这个代码没有错误,但有这个错误,请帮助: mysql_fetch_array()期望参数1是资源问题 <?php $con = mysql_connect("localhost","root","nitoryolai123$%^"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("school", $con); $result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']); ?> <?php while ($row = mysql_fetch_array($result)) { ?> <table class="a" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D3D3D3"> <tr> <form name="formcheck" method="get" action="updateact.php" onsubmit="return formCheck(this);"> <td> <table border="0" cellpadding="3" cellspacing="1" […]

MySQLdynamic透视

我有一个这样的产品部件表: 部分 part_id part_type product_id ————————————– 1 A 1 2 B 1 3 A 2 4 B 2 5 A 3 6 B 3 我想要一个将返回这样一个表的查询: product_id part_A_id part_B_id —————————————- 1 1 2 2 3 4 3 5 6 在其实际实施中将会有数百万个产品部件

mysqli:它可以在一个语句中准备多个查询吗?

我想知道如果我可以准备一个执行多个查询的mysqli语句: mysqli->prepare(query1 …1,2,3 param…; query2…4,5 param…); or mysqli->prepare(insert into …1,2,3 param…; insert into…4,5 param…); and after all mysqli->bind_param("sssss", 1, 2, 3, 4, 5); 这样就会出错:调用一个成员函数bind_param()在一个非对象在… $stmt = $sql->getQueryPrepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?); INSERT INTO process (id_user, idp) VALUES (?,?);"); $stmt->bind_param("ssssss",$id, $username, $pw, $email, $id, $idp); $stmt->execute(); $stmt->close();

警告:mysql_num_rows()期望参数1是资源,

可能重复: mysql_fetch_array()期望参数1是资源,布尔在select中给出 码- $q="SELECT * FROM tbl_quevote WHERE que_id = '".$qid."' and voteby='".$uid."'"; $result = $mysqli->query($q) or die(mysqli_error($mysqli)); $num_rows = mysql_num_rows($result); echo $num_rows; 错误:警告:mysql_num_rows()期望参数1是资源,在第13行的C:\ xampp \ htdocs \ shizin \ voting.php中给出的对象 how to check result is empty?

MySQL中的Oracle的RowID相当于

有没有相当于oracle的rowid在MySQL? delete from my_table where rowid not in (select max(rowid) from my_table group by field1,field2) 我想让这个查询的MySQL相当于! 我想要做的是,:my_table没有主键..我试图删除重复的值,并强加一个主键(复合field1,field2)..!

使用ORDER BY时查询速度慢

这里是查询(最大的表约有40,000行) SELECT Course.CourseID, Course.Description, UserCourse.UserID, UserCourse.TimeAllowed, UserCourse.CreatedOn, UserCourse.PassedOn, UserCourse.IssuedOn, C.LessonCnt FROM UserCourse INNER JOIN Course USING(CourseID) INNER JOIN ( SELECT CourseID, COUNT(*) AS LessonCnt FROM CourseSection GROUP BY CourseID ) C USING(CourseID) WHERE UserCourse.UserID = 8810 如果我运行它,它执行速度非常快(大约.05秒)。 它返回13行。 当我在查询的末尾添加ORDER BY子句(按任意列sorting)时,查询大约需要10秒。 我现在在生产中使用这个数据库,并且一切工作正常。 我所有的其他查询都很快。 任何想法可能是什么? 我在MySQL的查询浏览器中,从命令行运行查询。 ORDER BY这两个地方都很慢。 编辑: Tolgahan ALBAYRAK解决scheme的作品,但任何人都可以解释为什么它的作品?

生成一系列date

在一个给定的范围内生成一系列date的mysql中最好的方法是什么? 我想到的应用程序是编写一个报表查询,返回每个date的行,无论是否有任何数据要报告。 最简单的forms是: select dates.date, sum(sales.amount) from <series of dates between X and Y> dates left join sales on date(sales.created) = dates.date group by 1 我试图创build一个有很多date的表,但是这似乎是一个糟糕的解决方法。

MySQL将非数字字符进行比较

我正在寻找与表中匹配用户input的特定号码的logging。 因此,用户可以input12345,但是在数据库中可以是123zz4-5。 我想像这样的东西可以工作,如果PHP函数在MySQL中工作。 SELECT * FROM foo WHERE preg_replace("/[^0-9]/","",bar) = '12345' 什么是只有MySQL才能做到这一点的等价函数或方法?