我正在尝试检查最终用户输入的日期是否在YYYY-MM-DD中.正则表达式从来都不是我的强项,我不断为我设置的preg_match()获得错误的返回值.
所以我假设我弄乱了正则表达式,详情如下.
$date="2012-09-12";
if (preg_match("^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$",$date))
{
return true;
}else{
return false;
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
使用下面的代码,我怎么知道有什么东西被插入到db中?
if ($stmt = $connection->prepare("insert into table (blah) values (?)")) {
$stmt->bind_param("s", $blah);
$stmt->execute();
$stmt->close();
}
Run Code Online (Sandbox Code Playgroud)
我原以为添加以下行会起作用,但显然不行.
if($stmt->affected_rows==-1){$updateAdded="N"; echo "failed";}
Run Code Online (Sandbox Code Playgroud)
然后使用$ updatedAdded ="N"然后跳过页面下方的其他代码段,这些代码段依赖于上面的插入成功.
有任何想法吗?
用双精度执行一些计算,然后需要将其转换为int.所以我有一个简单的问题,当一个双重说7.5到一个int时,它将返回7.
这是四舍五入点后舍入或只是条带化的产物吗?
如果它是一个四舍五入的产品,它是否很聪明,即0.1到0.5它向下舍入,0.6到0.9它向上舍入?
干杯
使用cron,如果我想每隔5分钟运行一次命令,它将是:
*/5 * * * * command
Run Code Online (Sandbox Code Playgroud)
但是,如果我想专门设置一个会议记录列表怎么办?
就像过去5点,过去18分钟和每小时15分钟?我在猜这个:
5,18,45 * * * *
Run Code Online (Sandbox Code Playgroud) 我一直在玩各种试图熟悉AsyncTask的例子.到目前为止,我看到的所有示例都将AsyncTask包含在主要活动的onCreate方法中.我不太喜欢,所以我想看看将它分成自己的课程有多难.到目前为止我有这个:
的主要活动
package com.example.asynctaskactivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.example.asynctaskactivity.ShowDialogAsyncTask;
public class AsyncTaskActivity extends Activity {
Button btn_start;
ProgressBar progressBar;
TextView txt_percentage;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_start = (Button) findViewById(R.id.btn_start);
progressBar = (ProgressBar) findViewById(R.id.progress);
txt_percentage= (TextView) findViewById(R.id.txt_percentage);
Log.v("onCreate","Attempt set up button OnClickListener");
btn_start.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
btn_start.setEnabled(false);
new ShowDialogAsyncTask().execute();
}
});
Log.v("onCreate","Success!");
}
} …Run Code Online (Sandbox Code Playgroud) 我需要一种在db字段中存储持续时间的方法.我正在建立一个网站,客户应该能够选择从特定开始日期开始显示广告的时长.
我曾经考虑过使用TIME,但最大值为'838:59:59',大约需要34天.客户可能希望广告的存在时间更长.
那么处理这个问题的最佳方法是什么?只是一个非常大的INT?
我目前正在探讨如何使用预准备语句实现SQL_CALC_FOUND_ROWS.
我正在写一个分页类,显然我想在查询中添加LIMIT,但也要查找总行数.
这是该课程的一个例子.
$query="select SQL_CALC_FOUND_ROWS id,title,location,salary,employer from jobs where region=38 limit 0,3";
if($stmt = $connection->prepare($query)) {
$stmt->execute()or die($connection->error); //execute query
$stmt->bind_result($id,$title,$location,$salary,$employer,$image);
while($stmt->fetch()){
$jobs[$x]['id']=$id;
$jobs[$x]['title']=$title;
$jobs[$x]['location']=$location;
$jobs[$x]['salary']=$salary;
$jobs[$x]['employer']=$employer;
$jobs[$x]['image']=$image;
$x++;
}
$stmt->close();//close statement
}
Run Code Online (Sandbox Code Playgroud)
关于如何获取SQL_CALC_FOUND_ROWS实际值,我有点难过?我曾想过添加以下内容:
$stmt->store_result();
$count=$stmt->num_rows;
Run Code Online (Sandbox Code Playgroud)
但是这只给出了一个基于LIMIT的数字,所以在上面的例子中它应该是3而不是完整的6.
希望有道理.
上传到实时服务器时出现以下错误。它在本地主机上运行正常,我认为这很奇怪。
致命错误:在非对象上调用成员函数 close()....
它所指的行
$stmt->close();
Run Code Online (Sandbox Code Playgroud)
与数据库的连接
$connection=new mysqli($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS,$DB)or die(mysqli_error($connection));
Run Code Online (Sandbox Code Playgroud)
班级本身。
function getTimes(){ //this method just pulls the results of the query and returns them as an array
global $connection;
$route = $this->route;
$station = $this->station;
$day = $this->day;
// create a prepared statement
if ($stmt = $connection->prepare("select time from timetable where route=? and day=? and station=?")) {
$stmt->bind_param("sss", $route, $day, $station); // bind parameters for markers
$stmt->execute(); //execute query
$stmt->bind_result($col1); //bind result variables
while ($stmt->fetch()){
$results[]=$col1;
}
}
$stmt->close();//close statement …Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用 Symfony 和 Doctrine 构建的项目,但是我对整个设置仍然很陌生。
长话短说,我需要按照选择中使用的数组的顺序对结果集进行排序。
我相信可以使用 FIELD() 函数来完成,但是根据我的调查,使用 Doctrine 似乎不可能做到这一点。
例如,我对如何在如下查询中使用 FIELD() 感到困惑(如果可能的话):
return $this
->createQueryBuilder('a')
->where('a.identifier IN (:identifiers)')
->setParameter('identifiers',$identifiers)
->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud) 希望问题标题不要太混乱。
基本上我有一个基于 Docker 的 Symfony 3 应用程序。
我希望在 Docker 启动时运行应用程序的数据库迁移。基本上这样我就可以通过运行“docker-compose up”来启动应用程序并运行夹具数据。
但是,如果您的所有容器都来自图像呢?
我的应用程序将使用以下 docker-compose.yml 运行
version: '2'
services:
nginx:
image: nginx:latest
container_name: symfony_nginx
ports:
- "80:80"
volumes_from:
- php
volumes:
- ./etc/build/dev/nginx/conf.d:/etc/nginx/conf.d
- ./var/logs/nginx:/var/log/nginx
php:
image: letsbonus/php-dev:7.0
container_name: symfony_php
volumes:
- ./:/app
ports:
- "2222:22"
working_dir: /app
redis:
image: redis:3.0.7-alpine
container_name: symfony_redis
elk:
image: willdurand/elk
container_name: symfony_elk
ports:
- "81:80"
volumes:
- ./etc/build/dev/elk/logstash:/etc/logstash
- ./etc/build/dev/elk/logstash/patterns:/opt/logstash/patterns
volumes_from:
- php
database:
container_name: symfony_mysql
image: mysql
command: --general-log=/var/log/mysql/general.log
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=symfony …Run Code Online (Sandbox Code Playgroud)