标签: prepare

在maven发布时提交一些文件:准备

mvn release:prepare可以提交一些文件(没有pom.xml)吗?

在My MultiModul项目中,我使用prepareGoals配置了rlease插件,以更改sql文件中的Version.

<preparationGoals>clean verify org.codehaus.mojo:build-helper-maven-plugin:1.5:parse-version com.google.code.maven-replacer-plugin:replacer:1.5.0:replace</preparationGoals>
Run Code Online (Sandbox Code Playgroud)

一切正常,但更改的SQL文件将不会被提交.

sql文件位于父文件夹的子目录中.没有pom.xml

release commit maven prepare

5
推荐指数
1
解决办法
2116
查看次数

PHP stmt准备失败但没有错误

我正在尝试准备一个mysqli查询,但它无声地失败而没有给出任何错误.

 $db_hostname  = "test.com";
 $db_database   = "dbname";
 $db_username  = "db_user";
 $db_password   = "password";
 $db = new mysqli($db_hostname,$db_username,$db_password,$db_database);

 $q = "INSERT INTO Members (`wp_users_ID`,`MemberID`,`Status`,`MiddleName`,`Nickname`,`Prefix`,`Suffix`,`HomeAddress`,`City`,`State`,`Zip`,`ExtendedZip`,`BadAddress`,`SpouseFirstName`,`SpouseMiddleName`,`HomePhone`,`CellPhone`,`WorkPhone`,`WorkPhoneExt`,`OfficePhone`,`OfficePhoneExt`,`Pager`,`Fax`,`Company`,`CompanyType`,`OfficeAddress`,`OfficeAddress2`,`OfficeCity`,`OfficeState`,`OfficeZip`,`OTYPECO`,`OSTAG`,`UPCODE`,`Region`,`Department`,`Classification`,`Retired`,`Industry`,`Comments`,`Officer`,`OfficerType`,`OfficerTitle`,`OUNIT`,`ReceiveEMagazine`,`CD`,`SD`,`AD`,`isOrganization`,`DEL`,`Dues`,`DataSource`) VALUES ((?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?));";
 $stmt = $db->prepare($q);
 if ( false === $stmt ) {
      echo "<pre>";
      print_r( $db );
      echo "</pre>";
      mysqli_report(MYSQLI_REPORT_ALL);
      echo mysqli_error();
      }
Run Code Online (Sandbox Code Playgroud)

实际显示任何内容的唯一部分是print_r($ db):

 mysqli Object
 (
      [affected_rows] => -1
      [client_info] => 5.1.73
      [client_version] => 50173
      [connect_errno] => 0
      [connect_error] => 
      [errno] => 0
      [error] => 
      [error_list] => Array
      (
      )
      [field_count] => 1
      [host_info] => …
Run Code Online (Sandbox Code Playgroud)

php mysqli prepared-statement prepare

5
推荐指数
1
解决办法
9519
查看次数

Python 3中的有序类

我正在尝试使用PEP 3115中描述的"有序类" (即,可以按声明的顺序访问其成员的类).给出的实现是

# The custom dictionary
class member_table(dict):
    def __init__(self):
        self.member_names = []

    def __setitem__(self, key, value):
        # if the key is not already defined, add to the
        # list of keys.
        if key not in self:
            self.member_names.append(key)

        # Call superclass
        dict.__setitem__(self, key, value)

# The metaclass
class OrderedClass(type):

    # The prepare function
    @classmethod
    def __prepare__(metacls, name, bases): # No keywords in this case
        return member_table()

    # The metaclass invocation
    def __new__(cls, name, bases, classdict):
        # Note …
Run Code Online (Sandbox Code Playgroud)

python metaclass prepare python-3.x

4
推荐指数
1
解决办法
1642
查看次数

警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在... filetext中定义

$ fields是一个打印后获得如下值的数组:

Array ( [first_name] => Nisse [last_name] => Example [ssn] => 198306205053 [address] =>           Stockholm, Sverige [phone_number] => 54654987321546 [latitude] => 55.717089999999999 [longitude] => 13.235379 )
Run Code Online (Sandbox Code Playgroud)

我从我的数据类中调用更新函数,如下所示:

DataManager::update_user($fields, $user_data['id'];
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在... filetext中定义

我已经检查了其他几个类似的线程,但我想我在这里遗漏了一些基本概念,因为我仍然无法找到答案.据我所知,我的数组中有7个和7个项目,如果我定义了所有值,我可以在SQL工作台中完美地运行它,即:

UPDATE users SET first_name = 'Kalle', last_name = 'Anka', ssn = 242345234, address = 'Stockholm', phone_number = 53423434, latitude = 17.189889231223423423424324234, longitude = 109.234234 WHERE id = 4
Run Code Online (Sandbox Code Playgroud)

我已经尝试了PDO预处理语句,其中$ user_id设置为特定值,也没有纬度/经度参数.

如果我忘记任何重要信息,只需指出它,我就会明白.地址是varchar,lat/long是DB btw中的浮点数.使用MYSQL.

功能如下:

public static function update_user($fields, $user_id)
{
    $db = self::_connect();

    $st …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo prepare

4
推荐指数
1
解决办法
1万
查看次数

存储过程中的MySQL PREPARE语句

我有这个sql文件:

USE mydb;

DROP PROCEDURE IF EXISTS execSql;
DELIMITER //
CREATE PROCEDURE execSql (
                     IN sqlq VARCHAR(5000)
                      ) COMMENT 'Executes the statement'
BEGIN
  PREPARE stmt FROM sqlq;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END //
DELIMITER ;          
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时

#cat file.sql | mysql -p

我明白了

ERROR 1064 (42000) at line 6: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near 'sqlq;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt; …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures prepare

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

为什么我的PDO语句 - >执行返回false?

经过无休止的测试不同方面,我已经确定PDO连接有效(我可以运行一个简单的查询并显示结果),我已经确定该语句已成功准备,并且值正确绑定.由于某种原因,该语句将不会执行.只是为了可爱,我已经尝试删除所有绑定变量并执行静态查询,这也无济于事.

码:

$dbh = new PDO( "mysql:host=localhost;dbname=".$GLOBALS['data_name'], $GLOBALS['data_user'], $GLOBALS['data_pass'] );
$dbh->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

$sth = $dbh->prepare( "SELECT * FROM :table WHERE :field = :value" );
if( $sth != false ) TCDebug( 'prepared' );
if( $sth->bindValue( ":table", $table ) ) TCDebug( "table true" );
if( $sth->bindValue( ":field", $field ) ) TCDebug( "field true" );
if( $sth->bindValue( ":value", $value ) ) TCDebug( "value true" );
$flag = $sth->execute();

if( $flag === true ) {
    TCDebug( 'flag = true' );
} else if( …
Run Code Online (Sandbox Code Playgroud)

php pdo execute prepare

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

Android:没有调用MediaPlayer onPrepared

正如标题所说,未调用onPrepared()重写方法.

mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(new OnPreparedListener(){
   @Override
   public void onPrepared(MediaPlayer mp){
      if (mp.equals(mediaPlayer)) isReady_mediaPlayer = true;

      Log.e("I", "Media player has been loaded to memory !");
   }
});

mediaPlayer = MediaPlayer.create(this, R.raw.my_sound_mp3);
Run Code Online (Sandbox Code Playgroud)

android media-player prepare

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

如何写“创建用户”?用MySQL准备好的语句

我试过了:

SET @user = 'foo@localhost';
SET @pass = 'bar';
SET @sql = 'CREATE USER ? IDENTIFIED BY ?';
PREPARE stmt FROM $sql;
Run Code Online (Sandbox Code Playgroud)

我得到错误

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? IDENTIFIED BY ?'
Run Code Online (Sandbox Code Playgroud)

我还尝试了多种方法来定义变量,但还是没有运气。

SET @user = "'foo'@'localhost'";
SET @sql = 'CREATE USER ? IDENTIFIED BY ?';
Run Code Online (Sandbox Code Playgroud)

乃至

SET @user = 'foo';
SET @host = 'localhost';
SET @sql …
Run Code Online (Sandbox Code Playgroud)

mysql prepared-statement prepare

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

了解 PDO 准备语句和绑定参数

根据经验,并且不断被告知使用准备好的语句和绑定参数的好处,我在代码中不断使用这两种技术,但是我想确切地了解这两种技术的用途:

根据我对准备好的陈述的理解:

$sql = "SELECT * FROM myTable WHERE id = ".$id;
$stmt = $conn->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

前面的代码应该使用我建议的查询在数据库中创建一种缓冲区。现在根据我的理解(我可能是非常错误的),前面的代码是不安全的,因为字符串$sql可以是任何内容,具体取决于$id实际情况,如果$id= 1; DROP TABLE myTable;--,即使我有准备好的语句,我也会插入恶意查询。

根据我的理解,这是绑定我的参数的地方。如果我执行以下操作:

$sql = "SELECT * FROM myTable WHERE id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

数据库应该事先准确地知道sql语句的所有部分: SELECT这些列:* FROM myTableWHERE id =“用户输入的变量”,如果"a variable that was input by the user" != a variable,则查询失败。

有些人告诉我我的理解是正确的,而另一些人则告诉我这是错误的,如果我错了、正确或遗漏了什么,有人可以告诉我吗?并根据您的需要进行详细说明,非常感谢所有反馈!

php mysql pdo prepare bindparam

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

MySQL选择成变量

我想在过程中进一步使用从选择中获取的值,然后执行,但不知道如何执行。

作为测试,我编写了以下内容,但无法将v_1,v_2或v_3变量用于进一步的逻辑,因为它们不像我期望的那样接受值1,2和3。

DROP PROCEDURE IF EXISTS MPT_testing; DELIMITER //  CREATE PROCEDURE MPT_testing() READS SQL DATA BEGIN

  DECLARE v_1 INT;   DECLARE v_2 INT;   DECLARE v_3 INT;
     SET @sql=CONCAT('SELECT 1,2 into v_1, v_2');   PREPARE s1 FROM @sql;   EXECUTE s1;   DEALLOCATE PREPARE s1;

  SET v_3 = v_1 + v_2;

  SELECT v_3;

END //

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢,狮子座

mysql execute prepare

2
推荐指数
1
解决办法
1万
查看次数