我想运行一个迭代生成器类的函数.只要Ratchet连接处于活动状态,发电机功能就会运行.我需要做的就是在run执行方法后实现这一点:
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
require dirname(__DIR__) . '/xxx/vendor/autoload.php';
$server = IoServer::factory(
new HttpServer(
new WsServer(
new Chat()
)
),
8180,
'0.0.0.0'
);
$server->run();
Run Code Online (Sandbox Code Playgroud)
这是我在服务器启动后需要运行的方法:
function generatorFunction()
{
$products = r\table("tableOne")->changes()->run($conn);
foreach ($products as $product) {
yield $product['new_val'];
}
}
Run Code Online (Sandbox Code Playgroud)
以前我之前正在调用这个函数$server->run():
for ( $gen = generatorFunction(); $gen->valid(); $gen->next()) {
var_dump($gen->current());
}
$server->run();
Run Code Online (Sandbox Code Playgroud)
但这不允许客户端建立与Ratchet服务器的连接.我怀疑它永远不会$server->run()被生成,因为生成器类正在被迭代.
所以现在,我想首先启动服务器,然后调用这个生成器方法,以便它可以继续监听更改rethinkdb.
我怎么做?
TABLE_A
column name: list_id
record 1: 1,2,5,6,8
record 2: 1,3,2
record 3: 6,7,2
record 4: 9,8,0
Run Code Online (Sandbox Code Playgroud)
表-B
id ='2';
Run Code Online (Sandbox Code Playgroud)
如何选择id='2'逗号分隔字符串中的记录?从上面的例子中,它应该返回记录1,2和3.
查询(如何修改此查询?):
SELECT * FROM Table_a,Table_b WHERE Table_b.id = Table_a.list_id;
Run Code Online (Sandbox Code Playgroud) 我已经开始用PHP学习OOP了.我设法编写代码,其中子类将扩展包含与数据库的连接的超类.现在不是扩展或使用子类,有没有一种方法可以使这个连接类成为全局,这样任何类都可以使用它的对象而不必扩展它?
请注意下面,我必须使用$this->pdo以考虑类的实例.有没有办法可以在这个类中实例化一个对象,$pdo=new PDO();并在$pdo任何我想要的地方使用这个对象?
静态类会帮助这种情况吗?
class connection
{
public $servername = "localhost";
public $username = "root";
public $password = "";
public $dbname = "carrental";
public $port="3306";
public $pdo;
function addConnection()
{
try {
$this->pdo = new PDO("mysql:host=$this->servername;port=$this->port;dbname=$this->dbname", $this->username, $this->password);
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
$this->pdo->query("use $this->dbname");
}
}
Run Code Online (Sandbox Code Playgroud)
像下面一样尝试Singleton,但是当我得到致命的错误和警告时,可以告诉我什么是错的.
(!)致命错误:在第20行的C:\ wamp\www\carRental\index.php中(!)
PDOException:在第20行的C:\ wamp\www\carRental\index.php中调用堆栈时间记忆功能位置1 0.0012 143752 {main}()
..\index.php:0 2 0.0012 144296 car - > __ construct()..\index.php:503 0.0013 …
几周来我一直在尝试解决这个问题,但仍然无法解决。当我开始探索 Ratchet 时,我才开始了解 Composer,因此对于应该将其安装在哪里感到困惑。
1)composer.phar文件安装在哪里?Soe 对我项目的根源说道。有人说我的机器上安装了 php。
我通过单击此处的 Composer-Setup.exe 安装了composer.phar: https: //getcomposer.org/download/
这会将其安装在C:\ProgramData\ComposerSetup\bin\composer.phar
现在我的棘轮项目位于这里:目前除了空文件C:\projects\rachet\index.php
之外没有其他文件。index.php
2)现在如何将ratchet安装到该路径中?路径=C:\projects\rachet\index.php
3)我应该在哪个命令提示符中键入以在Windows中安装ratchet或composer?目前有两个。一个是php.exe命令提示符,另一个是通过键入打开cmd。
$rate=[10,20,40,50,70];
Run Code Online (Sandbox Code Playgroud)
如何在下面的查询中插入值?
$sql="INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)
VALUES('{$rate[0]}','{$rate[1]}', '{$rate[2]}','{$rate[3]}','{$rate[4]}')";
$stmt =connection::$pdo->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
我在下面尝试过,但它在记录的所有列中插入相同的值,并为每个新值创建新记录:
foreach($rate as $key->$value)
{
$sql="INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)
VALUES('{$value}','{$value}', '{$value}','{$value}','{$value}')";
$stmt =connection::$pdo->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
根据给出的答案编辑
public function rentalRate()
{
$rate = implode("','",$this->rate);
$sql = "INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)VALUES('$rate')";
$stmt =connection::$pdo->prepare($sql);
$stmt->execute();
unset($rate);
}
Run Code Online (Sandbox Code Playgroud) 这是loc_coordinate表结构:

下面是代码,从数据库中获取最近的位置并显示存储在数据库本身的地名.
<?php
include("config.php");
$lat = "3.107685";
$lon = "101.7624521";
$sql="SELECT ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon – lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS 'distance' FROM loc_coordinate HAVING 'distance'<='10' ORDER BY 'distance' ASC";
$stmt =$pdo->prepare($sql);
$stmt->execute();
while($row = $stmt->fetch())
{
echo $row['place'];
}
?>
Run Code Online (Sandbox Code Playgroud)
显示的错误:
致命错误:在第8行的C:\ wamp\www\mysite\by_coor.php中
PDOException:在第8行的C:\ wamp\www\mysite\by_coor.php中
echo $sql …
我想创建带有子菜单的菜单。因此,我需要做的就是显示menu_cat为主菜单(不重复),同时menu作为相关menu_cat.
像 DISTINCT 和 GROUP BY 这样的子句似乎适用于整行。由于我的搜索,我发现了这个链接:DISTINCT for only one Column
这正是我想要做的。但是我收到错误。以下是我的查询和 Phpmyadmin 错误。请帮我解决这个错误。
$query = "Select * FROM ('SELECT menu_cat,menu,manu_href,ROW_NUMBER() OVER(PARTITION BY menu_cat ORDER BY menu_id DESC) rn FROM menu')a WHERE rn = 1";
Run Code Online (Sandbox Code Playgroud)
错误:
#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“SELECT menu_cat,menu,manu_href,ROW_NUMBER() OVER(PARTITION BY menu_cat ORDER BY”附近使用正确的语法
$query2 = "select menu_cat OVER (PARTITION BY menu_id) AS Cat,menu,menu_href from menu"
Run Code Online (Sandbox Code Playgroud)
错误:
#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的“(PARTITION …
URL.createObjectURL(event.target.files[0] this makes me able to view the image just uploaded in the browser. Using the same hack is there a way, where I can store the file/image into a folder instead of URL?
console.debug(URL.createObjectURL(event.target.files[0]));
Run Code Online (Sandbox Code Playgroud)
上面的日志出来了,这个:blob:http%3A//mysite.localhost.com/f96c26b4-9938-4f6e-941e-edbdae3454c9
我只是想知道是否可以替换mysite.localhost.com为文件夹路径。我什至尝试将 URL 替换为文件夹的完整路径,但createObjectURL仅适用于URL. 有没有将文件保存到文件夹的功能?
var phone = '601112500098';
tried:
(1)
var hidden_number = phone;
hidden_number.replace( 4, "x");10,
(2)
var hidden_number = phone.join('x').substr(-4);
Run Code Online (Sandbox Code Playgroud)
'x'无论电话号码的长度如何,我只需要替换最后三位数字.所以它会改变601112500098为601112500xxx
如何在jquery中实现这一点?
这是JSON输出:我只想获取formatted_address值&long_name&short_name。我提到了人们已经问过的问题,但是我做错了。指:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Jalan Sungai Chua",
"short_name" : "B11",
"types" : [ "route" ]
},
{
"long_name" : "Sungai Chua",
"short_name" : "Sungai Chua",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Kajang",
"short_name" : "Kajang",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Selangor",
"short_name" : "Selangor",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Malaysia",
"short_name" : "MY",
"types" : [ …Run Code Online (Sandbox Code Playgroud)