小编Jax*_*ief的帖子

MySQL 更新,使用 PDO 跳过空白字段

我想通过下面的表格更新 MySQL 行。该表单按原样工作得很好,但是,如果我将一个字段留空,它也会将 MySQL 中的字段更改为空白。我想更新 sql 但跳过任何空白字段。

我已经阅读了一些这样做的方法,但它们似乎不合逻辑。即在 sql 字符串本身中使用 if 语句。(让 MySQL 完成应该在 PHP 中完成的工作)。

if($_SERVER['REQUEST_METHOD'] != 'POST')
{   
 echo '<form method="post" action="">
    ID: <input type="text" name="a" /><br>
    Program: <input type="text" name="b" /><br>
    Description: <textarea row="6" cols="50" name="c"></textarea><br>
    Cost: <input type="text" name="d"><br>
    <input type="submit" value="Add Link" />
 </form>';
}


try {
  $dbh = new PDO($dsn, $user, $pass);
  $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  $stmt = $dbh->prepare('UPDATE links SET Program = :program , Descr = :descr, Cost = :cost WHERE Id= :id'); …
Run Code Online (Sandbox Code Playgroud)

php mysql forms pdo

3
推荐指数
1
解决办法
3036
查看次数

找不到Composer PSR-4自动加载类

我一直想弄清楚为什么自动加载对“ Authentication \ auth()”不起作用的原因。“ dBase \ db()”类正在很好地加载,但是我得到了:

错误:在第8行的/var/htdocs/dev/test.php中找不到类'Authentication \ auth'

当调用test.php时。

file_structure

根composer.json-

  "require": {
    "geeshoe/dbClass": "dev-develop",
    "geeshoe/authClass": "dev-master"
  },
  "autoload": {
    "psr-4": {
      "dBase\\": "vendor/geeshoe/dbclass/",
      "Authentication\\": "vendor/geeshoe/authClass/"
    }
  }
Run Code Online (Sandbox Code Playgroud)

authClass.php标头-

<?php
namespace Authentication;

use dBase\db;

class auth extends db
{
Run Code Online (Sandbox Code Playgroud)

test.php-

if (file_exists("vendor/autoload.php")) {
    require "vendor/autoload.php";
} else {
    echo "Dam.. Something went wrong!";
}
$test = new \dBase\db();
$var = new \Authentication\auth();
Run Code Online (Sandbox Code Playgroud)

如果有人能指出对我来说显而易见的话,那太好了。另外,出于测试目的,未在authClass-> composer.json文件中指定自动加载。

php namespaces autoload composer-php psr-4

3
推荐指数
1
解决办法
1208
查看次数

标签 统计

php ×2

autoload ×1

composer-php ×1

forms ×1

mysql ×1

namespaces ×1

pdo ×1

psr-4 ×1