草庐IT

insert-if-non-existent

全部标签

php - 这些嵌套的 if/elseif 语句的更优雅的解决方案是什么?

我正在构建一个包含用户和用户配置文件的网站。配置文件中的许多字段都是可选的。有很多用户生成内容的机会,因此我需要在网站的许多不同位置(评论、帖子等)显示此内容的作者。在用户的个人资料中,他能够(可选地)填写他的“名字”、“姓氏”和“显示名称”。为了显示作者,我编写了一个辅助方法来查看提供的这些字段的数组,并按照以下优先顺序返回最适合用户的名称:如果用户填写了display_name,就会显示出来。如果用户填写了first_name和last_name,但没有填写display_name,它将显示这两个名字如果用户只填写了first_name,它会显示first_name。如果用户只填写

php - is_null 函数在我的 if 语句中无法正常工作

我有一个if语句来检测用户是否登录并属于某个部门。这真的很简单。有一个Permissions.php类,如果登录或返回NULL,则返回User对象。protected$user=NULL;...publicstaticfunctioninstance(){if(!self::$instance){self::$instance=newPermissions();}returnself::$instance;}...publicfunctionget_user(){return$this->user;}然后是user.php类,它具有返回他们所在部门的函数:publicfunctioni

php - CakePHP 3 : Unable to insert fixtures when running phpunit

我刚刚烘焙了一些Fixtures和一些TestCases,每当我运行vendor/bin/phpunit时,我都会得到以下错误的一个版本:$vendor/bin/phpunitPHPUnit4.7.7bySebastianBergmannandcontributors.IException:Unabletoinsertfixturesfor"App\Test\TestCase\Controller\ScreensControllerTest"testcase.SQLSTATE[HY000][2002]Nosuchfileordirectoryin[/Applications/MAMP/

php mysql_insert_id 在多行上?

是否可以从插入多行的查询中获取自动递增的ID?例如:INSERTINTOtable(col1,col2)VALUES(1,2),(3,4),(5,6);或者,有没有办法在不向表中插入任何内容的情况下找到下一个自动递增值?谢谢 最佳答案 据我所知,auto_increment不会填补id之间的空白,而且操作是原子的。所以你可以假设他们会排成一排。 关于phpmysql_insert_id在多行上?,我们在StackOverflow上找到一个类似的问题: http

php - 正则表达式 - 获取元素以呈现 if 语句

我正在设计脚本并尝试在php中不使用eval构建if结构。仍然不完整,但正在突破,它是为了做一个模板引擎,引擎的“if”部分。不允许赋值运算符,但我需要测试值不允许php代码注入(inject),准确地说不使用eval它需要在变量之间进行单独的操作以防止注入(inject)攻击。正则表达式必须捕获[if:(a+b-c/d*e)|(x-y)&!(z%3=0)]output[elseif:('b'+'atman'='batman')]output2[elseif:('b'+'atman'='batman')]output3[elseif:('b'+'atman'='batman')]out

php - 属性存在但 property_exists() 返回 false;

我真的很困惑。当我检查属性是否存在时,它返回false。if(property_exists($pais,'id'))//false但是当我调试时它显示它在那里。print_r($pais->id);//1print_r(property_exists($pais,'id'));//false我是疯了还是我的神经元炸了?而pais的创建是由if(key_exists('country',$data))$pais=Pais::adicionarPais($data);(...)publicstaticfunctionadicionarPais(array$data){returnPais

php - SQL Server 错误 1934 发生在 INSERT 到具有计算列 PHP/PDO 的表中

将计算列添加到SQLServer2005中的表后,我在INSERT上收到以下消息,仅通过PHP(使用PDO)它在SQLServerManagmentStudio中工作正常。为确保一切正确,我使用SQLServerProfiler设置了一个跟踪并将INSERT语句复制/粘贴到SQLServerManagmentStudio中。它在SSMS中运行良好,但在PHP中继续失败。Erroraddingcontact:SQLSTATE[HY000]:Generalerror:1934GeneralSQLServererror:CheckmessagesfromtheSQLServer[1934](

PHP if 语句如果页面是用 ajax 加载的

我有一个加载了从包含文件(pullList.php)填充的div的页面,但是如果您单击一个按钮(假设是“重新加载”按钮),div的内容将重新加载相同的内容文件(pullList.php)。现在的问题是,当通过ajax(使用jquery)加载页面时,我需要在pullList.php文件中包含一个包含文件(function.php),该文件已经包含在页面中。所以,理想情况下,我希望能够写出这样的声明if(thepagewasloadedwithajax){include(function.php);}这样function.php文件只会加载一次,如果通过ajax再次请求该页面,它具有正确显

php - 长 if 语句和 PSR-2

我正准备将一些代码迁移到PSR-2标准。在我的代码中,我有包含多行表达式的if语句:if($field->getBlockMode()==FieldInterface::BLOCK_MODE_HIDEVAR&&!isset($this->enabledBlocks[$field->getBlock()])){}编写此类表达式的最佳做法是什么? 最佳答案 如何让它成为一个单行代码来避免这个问题并使语句更具可读性:$blockModeIsHidevar=$field->getBlockMode()==FieldInterface::BL

PHP Phar - file_exists() 问题

我的Phar脚本使用fwrite创建了一个新文件,它工作正常,它在phar外部创建新文件,与phar文件位于同一目录中。但是当我使用if(file_exists('file.php'))时,它并没有接收到它。然后包含和要求确实选择它。有人知道这个问题吗?经过一段时间的测试和研究,似乎无法找到解决方案。 最佳答案 在PHAR的stub处,您可以使用__DIR__魔法常量来获取PHAR文件的文件夹。考虑到这一点,您可以简单地使用is_file(__DIR__.DIRECTORY_SEPARATOR.$path);检查文件是否存在于PHA