基本上我想避免做这样的事情:
if((isset($var_1) && !empty($var_1)) || (isset($var_2) && !empty($var_2)) ...) { ....
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个函数来尝试解决它:
function set($item) {
return (isset($item) && !empty($item));
}
Run Code Online (Sandbox Code Playgroud)
传入未设置的变量时,请以此为例:
$args = ['derp'];
if(set($args[0]) || $args[1]) {....
Run Code Online (Sandbox Code Playgroud)
我得到一个抛出的声明说明"Offset 1没有设置,但当我将函数更改为注释$itemby-reference时,它会删除PHP注意:
function set(&$item) {
return (isset($item) && !empty($item));
}
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 这是如何工作的?是因为它引用了原始$args数组吗?我疯了吗?
我有一个很好的小查询几乎可以做到我需要它除了一点点.我不需要返回"Orange"和"Lemon"列下的值,而是需要知道该属性和水果的提交数量.
这是我的表和一些测试数据:
CREATE TABLE `fruits` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`fruit` varchar(11) DEFAULT NULL,
`fruit_attribute` varchar(11) DEFAULT '',
`submissions` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
INSERT INTO `fruits` (`id`, `fruit`, `fruit_attribute`, `submissions`)
VALUES
(1,'Orange','tough peel',59),
(2,'Lemon','tough peel',70),
(3,'Orange','citrus',100),
(4,'Orange','juice',90),
(5,'Lemon','juice',75),
(6,'Lemon','tart',35),
(7,'Lemon','citurs',65),
(8,'Orange','breakfast',110),
(9,'Lemon','lemonaid',120),
(10,'Orange','florida',50);
Run Code Online (Sandbox Code Playgroud)
这是查询:
SELECT
fruit_attribute, submissions,
MAX(IF(t1.fruit = 'Orange', t1.fruit_attribute, NULL)) AS Orange,
MAX(IF(t1.fruit = 'Lemon', t1.fruit_attribute, NULL)) AS Lemon
FROM fruits t1
GROUP BY
fruit_attribute;
Run Code Online (Sandbox Code Playgroud)
非常感谢所有帮助!
这可能是一个愚蠢的问题.
我试图了解这些对象调用是如何进行的.Laravel雄辩方法中的示例 http://laravel.com/docs/eloquent
$affectedRows = User::where('votes', '>', 100)->update(array('status' => 2));
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个自定义框架,我喜欢Laravel框架的想法.有人可以告诉我它是什么以及如何实现这一目标.
所以我决定最终转移到PDO而不是使用旧的mysql_
但我注意到我的网站加载速度较慢.这是一个500行的表格,我的mysql_查询加载速度稍快(0.5-1秒).
我想知道这是否只是PDO的工作方式,或者我是否在某处犯了一些错误.我从MySQL到PDO的变化不大.
这是我原来的mysql_代码:
<?php
$sql = mysql_query("SELECT * FROM rookstayers ORDER BY level DESC LIMIT 0, 500");
$id = 1;
$last_player_lvl = '';
while($row = mysql_fetch_array($sql)){
$name = $row['name'];
$level = $row['level'];
$world = $row['world'];
$account = $row['accountstatus'];
$status = $row['onlinestatus'];
$country = $row['country'];
$lastlogindate = $row['lastlogin'];
$lastlogin2 = utf8_decode($lastlogindate);
$lastlogin = str_replace("?", " ", $lastlogin2);
$onrow = '';
$typeServ = '';
$Date = $lastlogin;
$Date = substr($Date, 0, strpos($Date, " CE"));
$now = date('Y-m-d');
$datetime1 = …Run Code Online (Sandbox Code Playgroud) 我正在尝试计算我的数据库中注册用户的数量,但是,我遇到了num_rows的问题..因为它给出了一个错误.
这是我的index.php代码:
<?php
require 'connections.php';
$con->query("SELECT users, UserID from users");
$totalplayers = $con->num_rows;
?>
Run Code Online (Sandbox Code Playgroud)
这是我的connections.php:
<?php
ob_start();
session_start();
$con = mysqli_connect("localhost", "root", "", "website");
if (isset($_SESSION['UserID'])) {
$result = $con->query("select * from users where UserID=".$_SESSION['UserID']);
$row = $result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)
但是,它给出了这个错误,我不知道该怎么做!:
注意:未定义的属性:第4行的C:....\index.php中的mysqli :: $ num_rows
有人帮我处理我的代码.我创建了一个包含当前密码,新密码和确认密码的编辑密码页面.这是我的代码:
edit_password.php
<form action="editpassword_process.php" method="post">
<table>
<tr class="form-group has-feedback has-success">
<td><h4>Current Password</h4></td>
<td><div class="control-group input-lg"><input type="password" placeholder="" passfield="true" id="currentpassword" name="currentpassword"></div></td> <!-- class="input-sm" required -->
<td><span id="messagebox"></span></td>
</tr>
<tr>
<td><h4>New Password</h4></td>
<td><div class="control-group input-lg"><input type="password" placeholder="" passfield="true" id="newpassword1" name="newpassword1"></div></td> <!-- required class="input-sm" -->
</tr>
<tr>
<td><h4>Confirm Password</h4></td>
<td><div class="control-group input-lg"><input type="password" placeholder="" passfield="true" id="newpassword2" name="newpassword2" onKeyUp="checkPass(); return false;"></div></td> <!-- required class="input-sm" -->
<span id="confirmMessage" class="confirmMessage"></span>
</tr>
</table>
<button class="btn btn-info">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的editpassword_process.php代码
<?php
include('connection.php');
$currentpw = $_POST['currentpassword'];
$newpw = $_POST['newpassword1'];
$confirmnewpw …Run Code Online (Sandbox Code Playgroud)