我有一个表“用户”,其中每个用户都有一个包含值“1”或“2”或“3”的“状态”列;
现在,通过单个 mysqli 查询,我只想计算有多少 status = 1 的用户、有多少 status = 2 的用户以及有多少 status = 3 的用户
注意:查询必须仅计数,除了每个状态的数量之外,无需选择或输出任何数据。
我在这里发现了涵盖几乎相同主题的其他问题,但它们并不完全相同。
谢谢。
我最近遇到了一些麻烦,试图用PHP脚本自动化新的数据库创建.基本上,脚本获取新的登录用户名并创建一个数据库(然后稍后插入一些表和数据,这也是通过php脚本完成的).我曾经不得不手动创建数据库,但现在需要使其自动化.
问题是我以前只能使用web GUI中的phpadmin"new database"函数创建一个新数据库,并输入名称如"test1.siteA","userb.siteB".
但是,既然我已经尝试通过php脚本做同样的事情,它会不断给我"你的语法中有错误......"来自我上一次的"回声".
主要参数是:
$name = $user->username;
$servernm = 'localhost';
$usnm = 'user';
$pasd = 'user';
$dbname = $name;
$dbname .= '.site';
Run Code Online (Sandbox Code Playgroud)
我发现一旦从代码中删除.site部分,错误就会消失(即使我将$ dbname合并为1行,它仍然存在).
根据我在网上发现的一些文章,似乎MySQL不允许像"."这样的特殊字符.要包含在数据库名称中.
我真的很奇怪,".site"可以通过phpMyadmin手动添加,而php/mysqli脚本不允许这样做.
完整的脚本如下(我确信它可以大大改进,所以任何有关这方面的建议也是受欢迎的):
<?php
define("_VALID_PHP", true);
require_once(APPPATH. "/libraries/init.php");
include (BASEPATH . "/database/DB_temp.php");
$row = $user->getUserData();
$name = $user->username;
$servernm = 'localhost';
$usnm = 'user';
$pasd = 'user';
$dbname = $name;
$dbname .= '.site';
// Create connection
$conn = mysqli_connect($servernm, $usnm, $pasd);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// …Run Code Online (Sandbox Code Playgroud) 我有一个以这种格式存储的DateTime [2016-10-05 11:58:04].我想要做的是,将存储的时间显示为这种可读格式[Wed,11:58 AM].
我有下面的代码
public function is_logged_in()
{
if(isset($_SESSION['userSession']))
{
return true;
}
}
if($reg_user->is_logged_in()!="")//I don't understand this evaluation
{
$reg_user->redirect('home.php');
}
Run Code Online (Sandbox Code Playgroud)
根据我有限的理解,该函数is_logged_in()返回一个布尔值,我注释的行上的条件是检查返回的值是否不等于空字符串。这是正确的方法吗?如果有人可以解释发生了什么我会很高兴。我是初学者,所以如果我的问题有点愚蠢,请原谅我。
我正在尝试获得该平均值以给我2个小数,因此我得到的不是17.4534,而是17.45。我在使用AVG的2个地方分别使用CAST尝试了各种组合,但似乎什么也无法工作。
这是我目前的代码,用于给出平均值(只有太多的小数)。
<?php
$sql3 = "SELECT AVG(app_tests.test_resultPercent) FROM app_tests";
$result3 = mysqli_query($conn,$sql3) or die(mysqli_error());
while($row3 = mysqli_fetch_array($result3))
{
echo "<h3>".$row3['AVG(app_tests.test_resultPercent)'];
}
?>
</h3><p>Average % Lift</p>
Run Code Online (Sandbox Code Playgroud) 不可否认,自从我进入php世界以来已经有一段时间了,但我不确定为什么我在json_encode字符串的开头有3个空格.
" [{"id":"1","display_name":"Bob"}]"
Run Code Online (Sandbox Code Playgroud)
这是我有的PHP:
$stmt = $conn->prepare("SELECT * FROM users");
$queryResult = array();
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$queryResult[] = $row;
}
echo json_encode($queryResult);
}
Run Code Online (Sandbox Code Playgroud)
当我回声时,print_r($stmt->fetch(PDO::FETCH_ASSOC)) 我得到以下内容:
Array
(
[id] => 1
[display_name] => Twitch Dock John
)
Run Code Online (Sandbox Code Playgroud)
那里还有3个空间..我做错了什么(期待传入的脸部时刻)?
我最近问过这个问题,但它被标记为重复并被删除。请在标记之前先看看我的问题,因为它不一样,我正在努力弄清楚这一点。
我想将 MYSQLI 查询的“公司”和“区域”结果回显到我的页面中,位于 php 页面正文中的不同点。
仅显示第一个回声。请显示我的错误。
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/Connections/****";
include_once($path);
$dbhandle=mysqli_connect($hostname_Demo, $username_Demo, $password_Demo, $database_Demo);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql_RS1="SELECT * from CompanyName where area = 1";
$result=mysqli_query($dbhandle,$sql_RS1);
?>
<head>
<title>TEST</title>
</head>
<body>
<?php
while($row = mysqli_fetch_assoc($result))
{
echo $row['company'];
}
?>
<?php
while($row = mysqli_fetch_assoc($result))
{
echo $row['area'];
}
?>
<?php $dbhandle->close(); ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个问题,我不知道如何解决.我有这个问题:
$sql = "SELECT * FROM transfer_centre WHERE status = 'out' ORDER BY pris DESC";
pris我的数据库中有四个值:
0, 4, 8, 26
因此,正如查询所述,它们应该如下列出:
但不知何故,它将26的值视为2.6(我猜?),因此26在4和0之间?
有人可以帮我解决这个问题吗?
我的mysql有问题.它连接到数据库,但它不会创建表.这是我的代码示例:
$db = new mysqli('localhost', 'user.name', 'user.pass', 'db');
if ($db === FALSE) {
echo "ERRROR";
}
$sql = "CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20) NULL
)";
$db->query($sql);
if (mysqli_query($db, $sql)) {
echo "TABLE CREATED SUCCESSFULLY";
} else {
echo "TABLE CREATED UNSUCCESSFULLY";
}
Run Code Online (Sandbox Code Playgroud)
我感谢你的每一个答案,谢谢你的帮助!
某些SQL工具集(如PDO)可以根据所选的第一列执行特殊操作,例如将其作为类名进行实例化或将其用作哈希表中的键.不幸的是,PDO从结果中删除了该列.如果我仍然希望它成为结果的一部分怎么办?
我尝试过诸如此类的查询
SELECT `class` as `myclass`, * FROM `mytable`
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误:
#1064 - 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便
mytable在第1行的'*FROM附近使用正确的语法
我知道列名中不会有冲突,因此
as `myclass`
Run Code Online (Sandbox Code Playgroud)
以下工作正常:
SELECT `class` as `myclass`, `class` FROM `mytable`
Run Code Online (Sandbox Code Playgroud)
如果没有自我加入或列出完整的列列表,这是否可行?