انجمن


مشکل با افزونه myLinksDump ا  (۱ نوشته)

  • odise2004

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱
    # نوشته شده: ۱۱ سال پیش
    ۲۱ آذر ۱۳۹۲ - ۱۶:۲۰

    با سلام.
    من از وردپرس 3.6.1 استفاده میکنم.
    روی هاست قبلی هیچ مشکلی نبود!
    ولی تو هاست جدید در فعال کردن افزونه myLinksDump ارور زیر به نمایش میاد. البته افزونه فعال میشه.
    خطای Multiple primary key defined در پایگاه‌داده وردپرس برای دستور ALTER TABLE wp_links_dump ADD PRIMARY KEY (link_id) ساخته شده توسط activate_plugin, do_action('activate_mylinksdump/myLinksDump.php'), call_user_func_array, linkdoni_install, dbDelta
    سپس در موقع افزودن لینک ارور زیر به نمایش در میاد:

    PHP Warning:  Missing argument 2 for wpdb::prepare(), called in D:\Hosts\***\httpdocs\wp-content\plugins\mylinksdump\myLinksDump.php on line 328 and defined in D:\Hosts\***\httpdocs\wp-includes\wp-db.php on line 992
    PHP Warning:  Missing argument 2 for wpdb::prepare(), called in D:\Hosts\***\httpdocs\wp-content\plugins\mylinksdump\myLinksDump.php on line 342 and defined in D:\Hosts\***\httpdocs\wp-includes\wp-db.php on line 992

    خط بولد شده مربوط به ارور myLinksDump.php on line 328 هست:
    )");

    if(isset($_POST['link_title']) && isset($_POST['link_url'])) {
     if (!empty($_POST['link_title']) && !empty($_POST['link_url'])) {
      //This is for updating previous links.
      if ($_POST['action_type'] == 1){
       $sql_query = $wpdb->prepare("UPDATE ".$table." SET
                     title = '".$_POST['link_title']."', url='".$_POST['link_url']."',description='".strip_tags($_POST['link_description'])."'
                     , approval='".$_POST['link_approval']."', delicious_status='0' WHERE link_id =".$link_id." LIMIT 1");
    
      }else{
       $sql_query = $wpdb->prepare("INSERT INTO ".$table." (link_id, title, url, description, visits, date_added, approval, delicious_status)
                     VALUES (
                      NULL , '".$_POST['link_title']."', '".urldecode($_POST['link_url']) ."', '".strip_tags($_POST['link_description'])."', '0', '".time()."', '1', '0'
                     )");
    
      }

    خط بولد شده مربوط به myLinksDump.php on line 342 هست:
    $sql = $wpdb->prepare("SELECT count(url) FROM ".$table." WHERE url = '".$_POST['link_url']."'");

    if ($edit_mode == 1){
      $wpdb->query($sql_query);
         ?>
        <div class="updated fade"><p><strong><?php _e('Link saved.','myLinksDump'); ?></strong></p></div>
     <?php
     }else{
     if ($ld_repeated_link == 0){
        $sql      = $wpdb->prepare("SELECT count(url) FROM ".$table." WHERE url = '".$_POST['link_url']."'");
        $repeated_urls  = $wpdb->get_var($sql);
        if ($repeated_urls < 1 ){
         $wpdb->query($sql_query);
        ?>

    خط بولد شده مربوط به wp-db.php on line 992 هست:
    function prepare( $query, $args ) {

    function prepare( $query, $args ) {
    		if ( is_null( $query ) )
    			return;
    
    		$args = func_get_args();
    		array_shift( $args );
    		// If args were passed as an array (as in vsprintf), move them up
    		if ( isset( $args[0] ) && is_array($args[0]) )
    			$args = $args[0];
    		$query = str_replace( "'%s'", '%s', $query ); // in case someone mistakenly already singlequoted it
    		$query = str_replace( '"%s"', '%s', $query ); // doublequote unquoting
    		$query = preg_replace( '|(?<!%)%f|' , '%F', $query ); // Force floats to be locale unaware
    		$query = preg_replace( '|(?<!%)%s|', "'%s'", $query ); // quote the strings, avoiding escaped strings like %%s
    		array_walk( $args, array( $this, 'escape_by_ref' ) );
    		return @vsprintf( $query, $args );
    	}

    ممنون.

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.