0

我厌倦了在 MySQL 中制作表单、插入等,并手动对 post 字段进行验证。

在 ruby​​ 中这一切都很容易,但是在 PHP 中有类似的东西吗?

我讨厌打字

 INSERT INTO something (1million, 1sdlsds,sds,ds,d,sd,sd,sd,sd,sd,s,ds,ds,ds,dds,sds,dsdsds,ds,dsd,sd,sd,sdsdsdsd) values ('@','a,'sds...........)

并对每个帖子字段进行手动验证。

有没有其他方法可以使这变得容易?

在红宝石中它只是:

 o = Users.new(:name => "Jesper", :email => "Noget").save!

以及模型中的验证。

4

4 回答 4

3

你总是可以使用像Laravel这样的框架。

插入的语法是。

$user = new User();
$user->name = "Jesper";
$user->eamil = "Noget";

$user->save()

您不一定必须使用 laravel,大多数框架都有自己的风格,将 sql 查询抽象为对象等等。其他流行的选项是CodeIgniterCakePHPKohana ...

于 2013-03-26T17:44:39.690 回答
1

只需插入你想要的东西,就像 Ruby 一样。毕竟,PHP、Ruby 等只是位于 MySQL(和其他数据库)之上。它们不会改变这些数据库的功能。

INSERT INTO something (name , email ) values ('Jesper','Noget')

此外,您似乎将原始 SQL 与对象、类和框架混淆了。因此,您的比较不公平或不准确。

于 2013-03-26T17:42:34.660 回答
0

You can use PDO object.

For example :

<?php
/* Execute a prepared request passing array values */
$sql = 'SELECT name, color, weight
    FROM fruit
WHERE weight < :weight AND color = :color';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

$sth->execute(array(':calories' => 150, ':color' => 'red'));
$red = $sth->fetchAll();

$sth->execute(array(':calories' => 175, ':color' => 'yellow'));
$yellow = $sth->fetchAll();
?>

More examples here : http://www.php.net/manual/fr/pdo.prepare.php

The good news is the request is sanitized automatically, and you avoid security fails...

Caution : You have to use PHP >= 5.1.0

于 2013-03-26T17:48:03.510 回答
0

在 Ruby on Rails中,它很简单Foo.create!(:bar => 1)

on Rails部分是一个框架。您无法将框架与语言进行比较。

如果您想要 PHP 的类似功能,您应该查找使用MVC 模式的框架,如ZendSymfony或类似的。

于 2013-03-26T17:46:38.257 回答